home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / CIS_GAME.ARJ / QWOLF3.THD < prev   
Text File  |  1993-07-01  |  103KB  |  2,066 lines

  1. ___________________________ Subj: Wolf3D Engine ___________________________
  2.  
  3. Fm: rod lentz 71163,57                         # 337322 
  4. To: Teut Weidemann 100022,2466 (X)             Date: 19-Apr-93  04:58:14
  5.  
  6.     I've been working on this in a 3d (raycasting) context; walls
  7. are easy, of course, but I'm having a little problem with other
  8. objects.
  9.     Should I deal with a list of objects which [partially] occupy
  10. each cell, for minimizing searching ?  This would need a lot more
  11. memory, but I suspect should be worth it.
  12.     I'm also having some trouble finding what angle a ray hits
  13. an object; I need it to be related to some constant angle for any
  14. view, i.e. possibly the normal at the objects center to the viewer.
  15.     Any suggestions ?
  16.  
  17.         - Rod
  18. ...........................................................................
  19.  
  20. Fm: Teut Weidemann 100022,2466                 # 337338 
  21. To: rod lentz 71163,57                         Date: 19-Apr-93  06:51:46
  22.  
  23. Ah, so you were talking about 3D programming. For a game? If so, most people
  24. use the norm vector which they relate to their light source and the viewer.
  25. Most games out there I think dont use "ray tracing" but a form called
  26. radiosity (is that right?), ie. the objects are mesauring their surface pixel
  27. by pixel with the light source instead of shooting thousands of rays through
  28. a scene. 3D is far more ocmlicated for "real time" games than it seems. A
  29. friend of mine (David Braben, Author of Elite, Virus and some others) told me
  30. a quote: "If you want to have speed in a 3D action game you have to move far
  31. away from conventional 3D math."
  32.  
  33. Teut
  34. ...........................................................................
  35.  
  36. Fm: Chris Lampton [GAMPUB] 76711,301           # 358313 
  37. To: R.MORLEN 73167,3263 (X)                    Date: 19-May-93  15:08:32
  38.  
  39. The chief difference between ray tracing and ray casting is this: In ray
  40. tracing, a ray is cast for every pixel in the viewport. In ray casting, a ray
  41. is cast for every vertical _column_ of pixels in the viewport. What you do
  42. with that ray is up to you: there are a number of clever techniques for
  43. determining the path of the ray and for generating pixel information from
  44. that path. And more techniques seem to be discovered every week. Done
  45. correctly, you don't have to worry about scaling bitmaps; it happens
  46. automatically, as in raytracing, when the intersection of the ray with a
  47. pixel or column of pixels is calculated.
  48.  
  49. The main problem with ray casting vis a vis ray tracing is that there are
  50. limits on the type of scenery that can be depicted: fixed-size rectangles
  51. oriented at right angles to one another seem to work best. (Variations are
  52. possible, but usually with a speed penalty attached). The main advantage is
  53. that the number of rays to be cast is reduced by a couple of orders of
  54. magnitude, which allows for real-time animation. And the simplified scenery
  55. makes a number of optimizations possible.
  56.  
  57. --Chris
  58. ...........................................................................
  59.  
  60. Fm: Lary Myers 76004,1574                      # 358865 
  61. To: All                                        Date: 20-May-93  12:17:52
  62.  
  63. Here is the basic process I am using if anyone has any initial comments or
  64. ideas before they see X.ZIP. From the players X and Y coordinates I cast a
  65. ray out in order to look for a hit on a wall. The ray is first cast with the
  66. X coordinate fixed at 64 (the dimension of each square in the map grid is
  67. 64x64) and the Y coordinate calculated based on the current angle being cast
  68. (ie. If the player is facing at angle zero then the first angle I check is 45
  69. degrees to the left or angle 315). Each X wall is checked to see if a
  70. non-zero value exist or not. If so then an Xdistance is determined by C2 = A2
  71. + B2 formula. Then the same is done for the Y walls except this time the Y
  72. coordinate is changed by 64 and the X coordinate is calculated based on the
  73. angle. When all this is said and done there will be four meaningful values,
  74. an Xcolor, Xdistance, a Ycolor and a Ydistance. (I am only using colors now
  75. for the walls, later these values will be indexes to bitmaps). Whichever
  76. distance is shorter is used to draw the wall. The final distance is then
  77. multiplied by the cosine of the current angle (say 45) and used to determine
  78. the height of the wall (looked up from a distance table created at startup).
  79. This is where the first anomaly appears. I see that some portions of the
  80. walls are higher or lower than other portions depending on the distance and
  81. angle the player is at. If the cosine adjustment is removed the spikes or
  82. divits go away but the bowed or fisheye effect is seen on the walls (since
  83. the rays are cast out from a single point). So far everything is written in C
  84. and hasn't been optimized fully yet, still I am getting good response from
  85. the rest of the process, I just can't get my walls to appear flat!! The
  86. pattern of the spikes is very organized and it sure looks like round-off
  87. error in the tables, but.... Is this enough information for anyone to suggest
  88. a course to try? Any comments would be appreciated.....
  89.  
  90. Lary
  91. ...........................................................................
  92.  
  93. Fm: Mark 'SAM' Baker 100025,444                # 358946 
  94. To: Lary Myers 76004,1574 (X)                  Date: 20-May-93  16:29:02
  95.  
  96. Could it be that some of your angles are fractional. I would assume that your
  97. cosine table is only based on integer angles. This would give you a small
  98. error, and when you multiply by the distance the error becomes more
  99. significant.
  100. This would give you a more obvious error at greater distances; and also at
  101. angles closer to 45 degree margins.
  102.  
  103.                                                 Mark
  104. ...........................................................................
  105.  
  106. Fm: Lary Myers 76004,1574                      # 359220 
  107. To: Mark 'SAM' Baker 100025,444 (X)            Date: 21-May-93  00:19:34
  108.  
  109. Mark, This is what I'm thinking also - I using a table of longs which keep
  110. most of the fractional part. I take the cosine of the angle and multiply it
  111. by 65536 (or a shift of 16 bits) so that the number (.707106 in the case of
  112. 45 degrees) is changed to 46341 when multiplied. I'm still wondering if this
  113. is enough though. When I get the distance (say for example 131) I mulitply
  114. that by the long cosine value and then shift it back down 16 bits to get the
  115. final distance (in this case 92). But you're right, the errors do appear in a
  116. certain pattern. Any suggestions on a way around this?
  117. Thanks - Lary :)
  118. ...........................................................................
  119.  
  120. Fm: Mark 'SAM' Baker 100025,444                # 359277 
  121. To: Lary Myers 76004,1574                      Date: 21-May-93  01:53:48
  122.  
  123. The obvious solution for accuracy is to do the calc at run time,  rather than
  124. use a table; but this will obviously affect your speed drastically.
  125. You could try guesstimating the fractional part of the angle, and taking the
  126. proportional value between the two integer angles.
  127. eg. 47.4 degrees
  128. cos 47 = .6820
  129. cos 48 = .6691
  130.  
  131. cos angle = .6820 + ((.6691-.6820) x (angle - int(angle)))
  132.  
  133.                                 Mark
  134. ...........................................................................
  135.  
  136. Fm: Mark Betz/Ass't SysOp 76605,2346           # 360118 
  137. To: all                                        Date: 22-May-93  10:30:43
  138.  
  139. The following new files are now available in LIBRARY 11 (Game Design):
  140.  
  141. [76004,1574]
  142. X1.ZIP/Bin       36012     21-May-93
  143.  
  144.   Title   : 3D Raycasting Engine Beta version 2 (IBM)
  145.   Keywords: WOFL 3D RAYCASTING GRAPHICS SOURCE IBM
  146.  
  147.   Here is an updated zip file with the Wolf 3d style engine that I have
  148.   been working on. This version has two problems described in the readme
  149.   file. This is a very crude beginning and as a long way to go. If anyone can
  150.   see where the problems are please let me know. The approach I took may be
  151.   way out in left field so any comments/suggestions would be appreciated.
  152. ...........................................................................
  153.  
  154. Fm: LAWRENCE M MATTA 70751,1424                # 362000 
  155. To: Lary Myers 76004,1574 (X)                  Date: 24-May-93  17:57:19
  156.  
  157. Lary,
  158. Have you tried reducing the half angle of the view from 45 degrees to 30?  I
  159. think this will greatly reduce the distortion.  Of course, it also reduces
  160. what you see at any given time, but you can't have everything!
  161. Larry 
  162. ...........................................................................
  163.  
  164. Fm: Lary Myers 76004,1574                      # 362099 
  165. To: LAWRENCE M MATTA 70751,1424 (X)            Date: 24-May-93  19:51:19
  166.  
  167. Larry, Yep - tried a variety of angles. Do you mean to reduce the angle to 30
  168. and not use the cosine correction on the distance? I need to start keeping a
  169. log of all the variations that I've tried, I'm sure that I've gone through
  170. several iterations more than once! I'll try the 30 degrees, it means
  171. recalcing the trig tables for a different total value (right now its 2048
  172. increments for 360 degrees). I keep looking at Wolf and Ken's labryinth and
  173. they both look like 90 degree (or about) views. There has to be a happy
  174. medium to show this at but I haven't hit upon it yet. Thanks for the
  175. suggestion. - Lary 
  176. ...........................................................................
  177.  
  178. Fm: LAWRENCE M MATTA 70751,1424                # 362736 
  179. To: Lary Myers 76004,1574 (X)                  Date: 25-May-93  18:29:59
  180.  
  181. Well, I'm using about 50 degrees total angle, and I don't get much
  182. distortion, but I can't reproduce the WOLF3D display with that field.  I need
  183. to do some playing around when I ahve the time and see what I can  come up
  184. with.  Keep me informed of your progress!
  185. Larry
  186. ...........................................................................
  187.  
  188. Fm: Ed Goldman 72630,2763                      # 364897 
  189. To: Lary Myers 76004,1574 (X)                  Date: 29-May-93  12:11:21
  190.  
  191. Lary,
  192.  
  193. Yeah, I thought this engine worked a bit differently from a flight sim type
  194. engine. Looking forward to your future incarnations of it.
  195.  
  196. In case anyone's interested there's a pretty good game designers ftp site on
  197. the internet at ftp.netcom.com in /pub/profile/games/msdos.  The Abrash
  198. articles are all conveniently in one zip file called graphprg.zip.  There's
  199. about 20 articles and source code (Borland C and TASM).  There's another zip
  200. contained within it called xsharp.zip.  This is his final 3d engine which
  201. includes shading techniques, texture mapping, a program to automatically
  202. generate the vertices of a sphere.  It's all built on Xmode.  Other stuff is
  203. fast (Wu) anitaliasing, 386 optimized fixed point mult and div, Sierra DAC,
  204. ....  If there's interest I could try to upload it here (I've had some
  205. sporadic com problems with large downloads on Cserve n the OS/2 2.1 beta that
  206. I'm running, so don't know if I'll be able).
  207.  
  208. In the meantime, on a new thread, I'm thinking about Ghourad Shading
  209. techniques and the math involved.  Looking for comments and I have some
  210. questions. Follow me there if you will ....
  211.  
  212. -edg-
  213. ...........................................................................
  214.  
  215. Fm: Lary Myers 76004,1574                      # 364526 
  216. To: Chris Lampton 76711,301 (X)                Date: 28-May-93  18:34:42
  217.  
  218. Chris,
  219.   Do you have any ideas on how to maintain accuracy when computing the square
  220. root of the distance and then multiplying that by the cosine of the angle? I
  221. have practically everything else in fixed point now but as soon as I mess
  222. with that distance the spikes return. Heres a code snippet of what I'm doing;
  223.  
  224.   WallDistance = (xDelta * xDelta) + (yDelta * yDelta)     <- all floats
  225.   ....
  226.   WallDistance = sqrt(WallDistance)
  227.   WallDistance = WallDistance * CosTable[angle]   <- Table is floatsl
  228.   WallDistance = ceil(WallDistance + 0.5) <- Roundup
  229.  
  230. WallDistance is now the number used to look up the height in the distance
  231. table. This is the code running in the version you have. I try to convert
  232. this to fixed point and no sale. I lose the accuracy! Let me know if you can
  233. see any solutions to my latest delemma.
  234.    Had a chance to compare speeds yet? At least now I'm closing in on a
  235. non-floating point version, if I can play some tricks with the distances then
  236. I'll have it. Thanks - Lary
  237. ...........................................................................
  238.  
  239. Fm: Chris Lampton [GAMPUB] 76711,301           # 364660 
  240. To: Lary Myers 76004,1574 (X)                  Date: 28-May-93  22:58:57
  241.  
  242. I'm not sure why you're having an accuracy problem with the square root and
  243. the cosine. I haven't had such a problem (knock wood!), though I don't rule
  244. out the possibility that I'll run into it. Are you having the problem _only_
  245. with fixed point or with floating point as well? If it's only with fixed
  246. point, then the problem may be with the fixed point routines themselves. How
  247. do they work? The simple fixed point stuff that I included in FOF is fairly
  248. low precision; to get better without sacrificing speed, you pretty much need
  249. to work with 32-bit registers. If you aren't, that might be the problem. Or
  250. maybe you're shifting digits off one end of a register without realizing it.
  251. Remember, for instance, that the dividend in fixed point division must be
  252. shifted to the left _before_ the division, so you don't lose digits off the
  253. righthand end when the division shifts them back the other way. And how are
  254. you doing the fixed point sqrt()? 
  255.  
  256. >Had a chance to compare speeds yet?
  257.  
  258. With your latest version? I haven't seen it yet. It takes a couple of days
  259. for files to find their way into the LIBs here and yours doesn't seem to have
  260. arrived yet. It'll be difficult to compare speeds with my own engine, since
  261. (a) I haven't tried animating mine yet; and (b) mine does fully bitmapped
  262. walls and floors. (I could take that back out for comparison purposes if you
  263. haven't added that to your own code yet, but that's where the real
  264. optimizations are going to be needed.) It's still fairly slow right now, but
  265. I haven't added a lot of optimizations yet. 
  266. --Chris
  267. ...........................................................................
  268.  
  269. Fm: Lary Myers 76004,1574                      # 364912 
  270. To: Chris Lampton [GAMPUB] 76711,301 (X)       Date: 29-May-93  12:34:45
  271.  
  272. Chris, Thanks for the reply. No need to go any further now!!!! Its working g
  273. great and doesn't contain a single line of floating point anymore! Whew! Yes,
  274. the fixed point problem was just what you thought, losing the digit off the
  275. end. Speed comparison: Yes, the X2.ZIP does do bitmap walls so no need to
  276. take that out of yours. But don't bother doing the speed compare with X2
  277. since I'll be uploading X3 soon and that is the one to check out. Should be
  278. no difference whether a math chip or not. Re: fixed point square root - I'm
  279. not doing square roots anymore at all! Found a way to do it another way that
  280. doesn't need it. Thanks again for the help and I'll get X3.ZIP up as soon as
  281. I can. (Memorial weekend is here.....) Lary :)
  282. ...........................................................................
  283.  
  284. Fm: LAWRENCE M MATTA 70751,1424                # 365542 
  285. To: Lary Myers 76004,1574 (X)                  Date: 30-May-93  14:00:14
  286.  
  287. I cast rays from a single point, through a virtual window, and then out to
  288. the object.  The window coresponds to the screen.  I just put on the screen
  289. what intersects with the window.  I dont know how clear that was, but it
  290. makes sense if you draw a picture.  So, i suppose I'm drawing the projection
  291. of the image on a plane that is a fixed distance in fron of the observer. 
  292. I'm playing with the speed now, and not worrying about the view field right
  293. now.  After I get the trig tables set up, I'll try uploading a copy for
  294. general discussion. 
  295. ...........................................................................
  296.  
  297. Fm: Chris Lampton [GAMPUB] 76711,301           # 366305 
  298. To: John W. Ratcliff 70253,3237 (X)            Date: 31-May-93  16:40:05
  299.  
  300. John:
  301.  
  302. I don't think Lary intended for the X1 engine and its successors to be a
  303. full-tilt polygon engine. The view-slice system that he's using -- what's now
  304. being called a raycasting system -- is a quick and dirty method of performing
  305. intensive texture mapping over large areas in a minimal time. (Lary tells me
  306. that he's added the texture mapping in the next draft of the engine, which
  307. may or may not have appeared in the LIBs by this time.) The price of this
  308. approach is that the types of objects and environments that can be depicted
  309. is extremely limited -- fixed-size bitmapped rectangles oriented at right
  310. angles to one another (and to the view plane) work best. Which is why
  311. raycasting engines tend to be used to create maze-like interior environments
  312. a la WOLF3D, with bitmapped floors, walls, and ceilings, in games that
  313. emphasize high-speed animation. Within that limited domain, it would be
  314. interesting to see if the raycasting approach can outrun a generalized
  315. polygon engine, assuming maximum optimization for both. My guess is that it
  316. would. Perhaps somebody could put together a pair of benchmarks, depicting an
  317. environment deliberately chosen to take advantage of the strengths of
  318. raycasting.... 
  319. --Chris
  320. ...........................................................................
  321.  
  322. Fm: Chris Lampton [GAMPUB] 76711,301           # 366540 
  323. To: Marc a Gaudet 70724,636 (X)                Date: 31-May-93  21:39:17
  324.  
  325. Quadtrees (and their three-dimensional equivalent, octrees) work best with
  326. raytracing and raycasting systems, where you need to search a two- or
  327. three-dimensional space for collisions between surfaces and visual rays. By
  328. trivially dismissing large volumes of empty space, they can reduce time
  329. otherwise spent looking for collisions. Some raytracers use the octree
  330. approach. A quadtree variant might conceivably be useful in raycasting
  331. programs using a two-dimensional representation of a three-dimensional
  332. interior environment. In fact, the tiled environment used in most raycasting
  333. systems can be looked at as a kind of variation on the quadtree, with area
  334. tiles further breaking down into grids of pixels and (perhaps) walls and
  335. height fields. 
  336.  
  337. They would be a lot less useful for a polygon-fill engine, since such engines
  338. tend to be more object-oriented than space-oriented -- i.e. they maintain
  339. lists of objects which are in turn lists of polygons which have spatial
  340. coordinates associated with them. Polygon-fill engines have no need to search
  341. space for collisions with visual rays (except in a limited way during hidden
  342. surface removal) and probably wouldn't benefit from a data structure designed
  343. to optimize searches. 
  344. --Chris
  345. ...........................................................................
  346.  
  347. Fm: Lary Myers 76004,1574                      # 367565 
  348. To: All                                        Date: 02-Jun-93  10:47:19
  349.  
  350. Another area of discussion: Anyone have any ideas on how to do moving objects
  351. in the ray casting environment? Static objects occupy a map square just like
  352. walls so they are "easier" to project. Moving objects will dynamically change
  353. location, direction, etc and will no longer be on the nice 90 degree grid
  354. that made the walls  locatable with the ray casting routines. Any thoughts?
  355.  
  356. P.S. The latest update (X3.ZIP) has been uploaded so look for it soon! It
  357. supersedes X1 and X2 (which hasn't become available yet).
  358.  
  359. Lary
  360. ...........................................................................
  361.  
  362. Fm: Chris Lampton [GAMPUB] 76711,301           # 367681 
  363. To: Lary Myers 76004,1574 (X)                  Date: 02-Jun-93  14:56:27
  364.  
  365. Here's one way to handle it: First of all, you need a coordinate system that
  366. has a finer resolution than the tiles themselves. (You may already be doing
  367. this.) Give each object a pair of x,y coordinates defined in terms of that
  368. finer coordinate system. Allow objects to overlap more than one tile. Each
  369. tile overlapped by a sprite can then be given a pointer to that sprite, to
  370. make it easy to find the sprite. For drawing purposes, use the sprite
  371. coordinates, not the tile coordinates.
  372.  
  373. --Chris
  374. ...........................................................................
  375.  
  376. Fm: Lary Myers 76004,1574                      # 367966 
  377. To: Chris Lampton [GAMPUB] 76711,301 (X)       Date: 02-Jun-93  21:57:02
  378.  
  379. Okay Chris, I'm with you. I am currently setting a bit in the tile to
  380. stipulate that an object is present so the current ray casting picks it right
  381. up. The question I have is that, even with a finer resolution, I would still
  382. get a corner effect when looking at the object diagonally - yes? The X3 that
  383. was uploaded has objects partially implemented but had to do so by knowing
  384. when to ignore the X ray or the Y ray. It appeared it was going to work but
  385. there are overlap problems when crossing the boundary between using X or Y.
  386. Also, wouldn't the finer coordinates mean casting a third ray since the
  387. current two are optimized for the tile coordinates? I think I'm on the track
  388. of a method that will handle both stationary and moving objects, with the
  389. exception of knowing what column in the bitmap to draw. If I can figure that
  390. out then it will wipe out two problems at once.
  391.  
  392. Lary
  393. ...........................................................................
  394.  
  395. Fm: Chris Lampton [GAMPUB] 76711,301           # 368102 
  396. To: Lary Myers 76004,1574 (X)                  Date: 03-Jun-93  03:42:27
  397.  
  398. I'm not sure why you're getting the "corner effect," but obviously it relates
  399. to the way in which you're casting for the walls. Sounds like you may want to
  400. rethink the casting so that it will work both walls and objects.
  401.  
  402. --Chris
  403. ...........................................................................
  404.  
  405. Fm: Lary Myers 76004,1574                      # 368764 
  406. To: Chris Lampton [GAMPUB] 76711,301 (X)       Date: 04-Jun-93  02:13:23
  407.  
  408. Been thinking about your comment to rethink the casting to pick out the
  409. objects. Don't know.... The ray cast routines are optimized based on the size
  410. of the map grid and they seem to be very fast. What I'm leaning towards is
  411. finding a way to display an object at different angles with the object having
  412. x,y coordinates somewhere on the map. This will mean looking through the list
  413. of objects to find the visible ones but it would allow independent movement
  414. of the objects on other than grid boundaries. Any thoughts? This whole
  415. process is similiar to normal 3D projection except the distance from an x,y
  416. point to your x,y point is being used to determine the height of the object.
  417. The ray casting inherently (sp?) took care of width scaling simply because
  418. the further away the wall the less rays intersected it. This would not be the
  419. case with independent objects since ray casting wouldn't be used.
  420. Lary
  421. ...........................................................................
  422.  
  423. Fm: Chris Lampton [GAMPUB] 76711,301           # 369041 
  424. To: Lary Myers 76004,1574 (X)                  Date: 04-Jun-93  16:21:03
  425.  
  426. I just took a look at your X3 engine. Very nice! The speed is much improved
  427. from the first version. It moves along nicely even on my 16mhz machine. (We
  428. authors can't afford to upgrade very often. <g>) By contrast, I never made it
  429. out of the room (or managed to rotate 180 degrees) in the first version.
  430. There's still room for speed improvement -- it's not as fast on my machine as
  431. KEN'S LABYRINTH or WOLF3D -- but on a faster machine the current version is
  432. probably more than adequate.
  433.  
  434. Assuming that the trees scattered throughout the maze are objects, I don't
  435. see any problem with them. I _thought_ I saw some flattening along the
  436. righthand side of the tree, but I'm pretty sure that was just the way the
  437. tile was drawn. If I had a clearer idea of what the object problem is and
  438. what's causing it, I might be able to make a suggestion as to how you could
  439. fix it, but as it stands I have no idea. You don't necessarily need to rework
  440. your wallcasting, but if it's causing a problem with the objects, you need
  441. some way of making them compatible with it. How are the objects stored? As
  442. non-rotating bitmaps with transparency?
  443.  
  444. --Chris
  445.  
  446. p.s. After reading TIM's note, I went back and looked at the trees again.
  447. There are a few cases where they seem to jump from one side of the floor tile
  448. to the other. Is that the problem you're talking about?
  449. ...........................................................................
  450.  
  451. Fm: Lary Myers 76004,1574                      # 369117 
  452. To: Chris Lampton [GAMPUB] 76711,301 (X)       Date: 04-Jun-93  18:45:41
  453.  
  454. Hi Chris - The object problem relates to what column of the object bitmap to
  455. draw. The objects are stored the same as the walls, in a 64x64 bitmap with
  456. color zero being transparent. When I'm casting a ray and come across a square
  457. in the map that contains an object I have to determine which column of the
  458. object to draw. For walls this was no problem since I wanted to use column
  459. 0-63 of the X side and 0-63 of the Y side. For objects, if I cast (for
  460. example) 64 rays that intersect with the x side then I would have 64 columns
  461. there, now if 64 rays are cast that intersect with the y side that would give
  462. an additional 64 columns of the object, which is what I don't want. What I
  463. need to do is determine from 0-63 columns of the object no matter which ray
  464. intersects with the square. This is probably as clear as mud but the limited
  465. bandwidths of mail causes sacrifices.... Anyway - Do you happen to have the
  466. equation for determining the distance from a point to a line handy? I had it
  467. in one of my references but don't have the book anymore.
  468.  
  469. Lary
  470. ...........................................................................
  471.  
  472. Fm: Mark Betz/Ass't SysOp 76605,2346           # 367850 
  473. To: Lary Myers 76004,1574 (X)                  Date: 02-Jun-93  19:26:15
  474.  
  475. Hmm, good question. How about drawing the objects as seen from several
  476. different angles, and continuing to treat them as wall tiles? This is similar
  477. to the system used in games like Eye of the Beholder, and the last two Might
  478. and Magics: the creatures move one full square at a time. It would be nice to
  479. have finer movement, so I'd try to combine it with Chris' idea for a grid at
  480. a finer resolution overlayed on the map squares. One twist involves clipping.
  481. If you handle the object during a second scan pass, then you have to clip it
  482. to whatever walls are between it and the point of view, whereas drawing the
  483. object at the same time as the walls would make clipping easier, but would
  484. involve integrating both coordinate systems.
  485.  
  486.                                                         --Mark
  487. ...........................................................................
  488.  
  489. Fm: Lary Myers 76004,1574                      # 367970 
  490. To: Mark Betz/Ass't SysOp 76605,2346 (X)       Date: 02-Jun-93  22:00:34
  491.  
  492. The finer movement is the way I want to go. I did have the objects treated as
  493. wall tiles at first but the corner effect when looking at them diagonally was
  494. awful. They looked like square objects, no smoothing effect for the different
  495. views. I would like to view objects from different angles and have different
  496. views shown, but it seems that the current 3D engines out there always
  497. present the same side no matter which way you are facing, so I'll try to get
  498. that working first (hopefully). Thanks for the suggestion, we'll see what
  499. happens. 
  500. Lary
  501. ...........................................................................
  502.  
  503. Fm: Mark Betz/Ass't SysOp 76605,2346           # 368499 
  504. To: Lary Myers 76004,1574 (X)                  Date: 03-Jun-93  19:40:50
  505.  
  506. Yeah, that's a problem. If the object maps are oriented only along the same
  507. axes as the wall segments, you lose the illusion of depth. I guess I'd lean
  508. more toward treating them as sprites: use the same set of views drawn from
  509. different angles, scale up or down as necessary, and blit them into the view.
  510. There's still the clipping problem. I'm planning to take some time to look at
  511. X3. I was very impressed with it, btw. You're really coming along. The
  512. performance is vastly improved, and some of the objects turned out very well
  513. (thinking of the trees in the corners).
  514.  
  515.                                                         --Mark
  516. ...........................................................................
  517.  
  518. Fm: Lary Myers 76004,1574                      # 368760 
  519. To: Mark Betz/Ass't SysOp 76605,2346 (X)       Date: 04-Jun-93  02:03:35
  520.  
  521. Mark, could you elaborate on your explanation? I see objects now as walls but
  522. treated in such a manner that only the x or the y ray is used to determine
  523. the bitmap column to display. I would like to scrap that all together and go
  524. to placing the objects by an x,y coordinate then determining the distance and
  525. bitmap column to display. What I'm having trouble with is the column based on
  526. the angle between me and the object (ie the angle I spotted it at) and which
  527. column of the bitmap to display which is based on several factors, one of
  528. which is distance. I was thinking I could scale the width as well as height
  529. based on distance, but..... 
  530.  
  531. Thanks for the positive comment about X3. I'm pleased with the wall displays
  532. (except for speeding up the actual display routines) and would very much like
  533. to see objects that you can walk around which are moveable. That's my goal
  534. anyway.
  535. Lary
  536. ...........................................................................
  537.  
  538. Fm: TIM 76247,1130                             # 368942 
  539. To: Lary Myers 76004,1574 (X)                  Date: 04-Jun-93  12:19:44
  540.  
  541.   Lary,
  542.   I've also looked at X3. Good work. I shudder at the thought of how
  543. seriously brain-fried I'd get if I tried something so ambitious...
  544.   That said, a couple of comments. (Well, you DID ask... <grin>) First, the
  545. engine itself seems fairly solid. My experience with 3-D ranges from some
  546. basic graphics work at school to spending rather large amounts of time with
  547. the two Ultima Underworld programs and the Wolf program -- the Wing Commander
  548. approach to objects may apply, too.
  549.   Based on that experience, X3 demonstrates performance on my 486/33
  550. comparable to that of either Underworld and WC2, and slower (by about 50%)
  551. and jerkier than Wolf. That's not meant disparagingly; even that level is an
  552. accomplishment. But from the perspective (sorry <g>) of your typical
  553. non-programmer game player, X3 still suffers by comparison. 
  554.   Do you have a profiler? The wall raycasting seems pretty bullet-proof;
  555. enough that it might make sense at this point to start looking for code to
  556. optimize. 
  557.   Also, try this: approach a corner from 45 degrees, and stop. Now turn
  558. right, then left, and watch the corner. Instead of seeing more of the
  559. direction in which you're looking, it appears as though your feet are sliding
  560. in that direction -- rather disconcerting.
  561.   Second: objects. You're right; your handling of these needs more thought.
  562. While, like Mark, I liked the LOOK of the bushes, there were a few places
  563. where, if I positioned myself correctly, they appeared to jump about one
  564. wall-width and go edge-on to the viewer. The sign object in the first room
  565. displayed the same behavior.
  566.   Otherwise, this looks really promising. Keep at it!
  567.   -- Bart
  568. ...........................................................................
  569.  
  570. Fm: Lary Myers 76004,1574                      # 369096 
  571. To: TIM 76247,1130                             Date: 04-Jun-93  17:51:49
  572.  
  573. Bart/TIM - Thanks for the comments. Speed improvement is high on the priority
  574. list. Will keep everyone posted as to its progress.
  575.  
  576. Lary
  577. ...........................................................................
  578.  
  579. Fm: David Szkilnyk 100026,1274                 # 368002 
  580. To: Lary Myers                                 Date: 02-Jun-93  22:48:15
  581.  
  582.     Lary -
  583.       I've got some ideas running around in my head and I put forward
  584.       them to my partner(girlfriend) and she loved it.
  585.  
  586.       I am sick of the normal vga stuff and I want to start supporting
  587.       the vesa and xga modes.
  588.       (Windows 'mmm I don't like this one)
  589.       Many of the machines that I come in contact with are quite
  590.       adequate to handle SVGA modes and speed.
  591.       So why not give them the facilities to run games at the high
  592.       modes. If the engine is design in such a fashion it shouldn't
  593.       matter what mode you are displaying for. (upward and backward compat.)
  594.  
  595.       Viewing multi floors -
  596.          OK, say scenario is a jungle evironment, the character could
  597.          fall into a small pit and be able to view upwards into the
  598.          trees, or along the floor of the jungle. I mean the scenarios
  599.          are endless, I would get board of playing normal maze one
  600.          viewing level all the time.
  601.  
  602.      David
  603. ...........................................................................
  604.  
  605. Fm: Mark Betz/Ass't SysOp 76605,2346           # 368129 
  606. To: all                                        Date: 03-Jun-93  06:25:52
  607.  
  608. The following new files are now available in LIBRARY 11 (Game Design):
  609.  
  610. [76004,1574]
  611. X3.ZIP/Bin       62681     02-Jun-93
  612.  
  613.   Title   : 3D Raycasting Engine, Beta Version 3 (IBM)
  614.   Keywords: VGA GRAPHICS 3D RAYCASTING IBM
  615.  
  616.   This is the latest version of the current 3D engine. This file
  617.   should supersede X1 and X2.ZIP if you have them. My thanks to all who
  618.   have participated in this "adventure" so far and welcome to any who care
  619.   to join in. This version has limited mouse and object support but enough
  620.   to get the idea. VGA required.
  621. ...........................................................................
  622.  
  623. Fm: Lary Myers 76004,1574                      # 368321 
  624. To: Jaimi 71700,1202 (X)                       Date: 03-Jun-93  14:53:15
  625.  
  626. Jaimi - thanks for the comments on the 3D engine. Believe it or not, the way
  627. you described doing transparent walls is already in the engine, just coded
  628. for objects and not walls. Discussions on this end were already mentioning
  629. walls with see through windows that would show walls behind them.
  630. The source will become available soon. I was just explaining to Mark about
  631. the thing becoming a hack that I wanted to clean-up before placing it in the
  632. public eye. The original X1 source was more commented then the current stuff
  633. is! I would like to get objects implemented as well before releasing it.
  634. Lary
  635. ...........................................................................
  636.  
  637. Fm: Mark 'SAM' Baker 100025,444                # 368426 
  638. To: Lary Myers 76004,1574 (X)                  Date: 03-Jun-93  18:04:22
  639.  
  640. Lary,
  641.         X3 runs pretty well on my 486sx, certainly with optimisation you'll
  642. have a pretty good engine. With the graphics you've used, it looks very
  643. Wolf-like.
  644.         Are you planning on allowing objects that can be walked over/
  645. through? Are you planning on giving a 'direction attribute' to objects;
  646. allowing for different images being displayed depending on the direction the
  647. player is looking at them from?
  648.  
  649.                                                 Mark
  650. ...........................................................................
  651.   
  652. Fm: Lary Myers 76004,1574                      # 368476 
  653. To: Mark 'SAM' Baker 100025,444 (X)            Date: 03-Jun-93  19:19:29
  654.  
  655. Mark - Good to hear from you again. Yes, currently I am working on the scheme
  656. to display moving objects, no luck yet - but... Showing different sides of an
  657. object is something I would LIKE to do, whether it happens or not. I'm
  658. looking more into texture mapping. If I can project a texture mapped object
  659. over the walls then I might be on the right track.
  660.  
  661. Lary
  662. ...........................................................................
  663.  
  664. Fm: Vu Truong (Siliconis) 70242,3015           # 368415 
  665. To: Lary Myers 76004,1574 (X)                  Date: 03-Jun-93  17:41:22
  666.  
  667. Lary:
  668.  
  669. Your X3 looks awesome! Do you plan to release the source code to the general
  670. public?
  671.  
  672.  
  673.           -Vu
  674. ...........................................................................
  675.  
  676. Fm: Lary Myers 76004,1574                      # 368477 
  677. To: Vu Truong (Siliconis) 70242,3015 (X)       Date: 03-Jun-93  19:21:04
  678.  
  679. Vu - Yes I am. My original plan was put forth here in Game Design to release
  680. the source and build a construction kit so that people who didn't want to
  681. dabble in the source could still build 3D types of games. What do you think?
  682.  
  683. Lary
  684. ...........................................................................
  685.  
  686. Fm: Steve Salter 71732,3126                    # 368921 
  687. To: Lary Myers 76004,1574 (X)                  Date: 04-Jun-93  11:32:16
  688.  
  689. |Vu - Yes I am. My original plan was put forth here in Game Design to release
  690. |the source and build a construction kit so that people who didn't want to
  691. |dabble in the source could still build 3D types of games. What do you think?
  692.  
  693.  
  694. Ooops, I should have read on a bit further. Both ideas sound good, Lary.
  695.  
  696. Steve
  697. ...........................................................................
  698.  
  699. Fm: Vu Truong (Siliconis) 70242,3015           # 369073 
  700. To: Lary Myers 76004,1574 (X)                  Date: 04-Jun-93  17:08:27
  701.  
  702. I think thats a great idea! I was asking because I didn't find any source to
  703. X3. X3 looks GREAT!
  704.  
  705.      -Vu
  706. ...........................................................................
  707.  
  708. Fm: Lary Myers 76004,1574                      # 369094 
  709. To: Vu Truong (Siliconis) 70242,3015           Date: 04-Jun-93  17:50:03
  710.  
  711. Vu - X3 was an update over earlier versions. I am embarressed to place the
  712. source up until I get it cleaned up. And I would really like to get objects
  713. implemented fully as well (of course that probably leads to wanting to get
  714. the next thing in and the next and ....) But I do plan on getting the stuff
  715. into Game Design soon.
  716.  
  717. Lary
  718. ...........................................................................
  719.  
  720. Fm: Marc a Gaudet 70724,636                    # 368454 
  721. To: Chris Lampton [GAMPUB] 76711,301 (X)       Date: 03-Jun-93  18:48:12
  722.  
  723. Are there any good books, etc. pertaining to polygon-fill engines?
  724.  
  725. I do GIS work for a living, and i have some interesting data sources
  726. available to me (Street centerline files, Parcel maps, building
  727. footprints/elevations and digital orthophotos).
  728.  
  729. Has anyone considered using "real" data for their games (TIGER data maybe?)
  730.  
  731. I think a multi-player Tank shoot-em-up game in your own city would be kinda
  732. cool.
  733.  
  734. Marc.
  735. ...........................................................................
  736.  
  737. Fm: Chris Lampton [GAMPUB] 76711,301           # 368687 
  738. To: Marc a Gaudet 70724,636 (X)                Date: 03-Jun-93  23:55:27
  739.  
  740. Er, well, the only book I know on polygon engines is my own, FLIGHTS OF
  741. FANTASY. Somebody just uploaded a collection of Michael Abrash's columns to
  742. LIB 11, under the name ABRDDJ.ZIP, I believe. That has a lot of good
  743. information on programming polygons.
  744.  
  745. --Chris
  746. ...........................................................................
  747.  
  748. Fm: Frank Sachse 74140,2413                    # 368880 
  749. To: Lary Myers 76004,1574 (X)                  Date: 04-Jun-93  09:44:58
  750.  
  751. My compliments to the chef (and staff) for the fine work on X3!
  752.  
  753. With regards to movement it seems to be closer Ken's Labyrinth than Wolf, ie.
  754. the degree of rotation per key stroke seems less than the the 10 degrees or
  755. so in Wolf.
  756.  
  757. I have a couple of questions/suggestions...
  758.  
  759. 1) Could such an engine be adapted to an "outdoor" setting, ie.
  760.    fields & forests, not just indoors?  If so, how?  That would be
  761.    my area of interest for the game I have in mind. 2) Would it be possible
  762. it implement a way to pick up or take objects,
  763.    either by walking over them (Wolf3D) or by pointing at them (UUW)? 3) Can
  764. the speed be improved?  Optimized?  Using assembler for the
  765.    important routines? 4) How can I modify the bitmaps or add to them?  What
  766. art s/w would I
  767.    need?  DP2e? 5) How can I start building my game using the engine, ie.
  768. creating maps,
  769.    levels, etc.?
  770.  
  771. - Frank, the ignorant but eager...
  772.  
  773. PS Paul Whittemore - FOF is available in quantity in World's Biggest
  774. Bookstore and to a lesser extent in most Coles (about $50 cdn <sigh>)
  775. David Szilnyk - I think the KD Software program your are looking for is
  776.               "DC Games" by DC Software.  You can find the latest version &
  777.                 demos in Lib 9 (CRPG) of this Forum (browse: DCGAMES).
  778. ...........................................................................
  779.  
  780. Fm: Lary Myers 76004,1574                      # 369093 
  781. To: Frank Sachse 74140,2413                    Date: 04-Jun-93  17:48:03
  782.  
  783. Frank - Whew! Where to begin.
  784.  
  785. 1) Already thinking of outdoor settings. If I get the &%&% objects to work
  786. like I'm planning then its all set. Just picture the trees in X3 without
  787. walls. 
  788.  
  789. 2) Picking up and dropping. Haven't addressed this yet. I'm leaning towards a
  790. different interface then Wolf3D but haven't put one in concrete yet.
  791.  
  792. 3) Currently working on speed improvement - watch for X4 soon!
  793.  
  794. 4) The construction kit I'm planning will allow map and bitmap modification
  795. as well as other items ala Breach.
  796.  
  797. 5) How can you start? Don't know, not ready to put source up yet.....
  798.  
  799. Hope this answers some of the issues. X3 was meant as an update to show the
  800. folks here in Game Design what progress had been made over the earlier X1 and
  801. X2 samples. It is nowhere near polished or finished. Early responses like
  802. yours are always welcome because I need to compile all the ideas and
  803. incorporate them into the final construction kit.
  804.  
  805. Lary
  806. ...........................................................................
  807.  
  808. Fm: Mark 'SAM' Baker 100025,444                # 369771 
  809. To: Bart Stewart 76247,1130 (X)                Date: 05-Jun-93  18:39:03
  810.  
  811. You could do a lot with manipulating the palette: including generating an
  812. 'atmospheric haze effect; night and day; infravision and ultravision. I don't
  813. know if Lary has his 'maximum visibility'  set up as a variable or a
  814. constant; but perhaps he should include a call to his engine allowing this
  815. too to be adjustable.
  816.  
  817.                                                 Mark
  818. ...........................................................................
  819.  
  820. Fm: LAWRENCE M MATTA 70751,1424                # 371720 
  821. To: Lary Myers 76004,1574 (X)                  Date: 08-Jun-93  18:12:12
  822.  
  823. Lary-
  824. I saw a preview of DOOM today, and it looks like the folks at ID have been
  825. staying up late working on their engine.  It now has floors and cielings, and
  826. the floor doesn't need to be flat.  Also, the walls can be at any angle, and
  827. when you shoot, you leave permanent trails of bullet holes in the walls! 
  828. Looks like I've got a lot of work ahead of me...
  829. Larry
  830. ...........................................................................
  831.  
  832. Fm: Frank Sachse 74140,2413                    # 378697 
  833. To:  76004,1574 (X)                            Date: 18-Jun-93  09:21:47
  834.  
  835. I'd like to respond to some of your questions from last night (at least the
  836. few that I saw - if there are others please let me know)
  837.  
  838. How should you distribute your engine? - As shareware, ie. $20 for the engine
  839. w/online docs but w/o source.
  840.   $50 extra for the source.  That's how AGT does it.  And you (& those
  841.   helping you) deserve it.  Everyone will want something for nothing,
  842.   esp. a 3D engine.  And it's certainly cheaper than $25,000!
  843.  
  844. What would I use the 3D engine for? - I would use it as the basis for an RPG
  845. game I am creating - the
  846.   resulting product would then be distributed as shareware.
  847.  
  848. What would I do with the source code? - Add features to it.  The more that
  849. already exist, the less I have to
  850.   add.  Also, I am not that keen on advertising banners, since I want
  851.   to make my game shareware.  You deserve credit & should be mentioned
  852.   as the author of the engine, ie. 3Dengine Copyright 1993 Lary Myers -
  853.   All rights reserved.  But I'm not fond of hard-coded banners like
  854.   "You too can make 3D games like this one, using LM Inc.'s 3D-RPG
  855.   Construction Set.  Call 1-800-555-1212.  Our operators are standing
  856.   by.  Order before midnight tonight & we'll through in a fabulous
  857.   Ginsu Assembler/Debugger..."
  858.  
  859. What can you contribute to the development of the engine? - generic sound,
  860. bitmaps, map layouts & full screen graphics as they
  861.   apply to the 3Dkit in general and not for a specific app since
  862.   I have my own app in mind.  Also I know I am not as skilled in those
  863.   depts as others here, but if no one else will do it, I will.
  864.  
  865. - Frank, the keen...
  866. ...........................................................................
  867.  
  868. Fm: Frank Sachse 74140,2413                    # 378697 
  869. To: Lary Myers                                 Date: 18-Jun-93  14:29:00
  870.  
  871. Before everyone puts me on their hit list, let me explain. I only suggested
  872. shareware as a means to control subsequent versions of the engine.  If Lary
  873. wants to give it away for free, that's fine by me.  But I know it would take
  874. me forever to develop a 3D engine (given my current skill set) - so to me
  875. that's worth something. Perhaps the amount should be more or less?  Perhaps
  876. it should come with the source?
  877.  
  878. If Lary does most of the work, then it's only fair he be compensated somewhat
  879. for his effort.  But if the finished product is more a combined effort of
  880. many, then the shareware fee should either be eliminated or shared among the
  881. contributors.
  882.  
  883. Perhaps make the fee optional, ie. what's it worth to you? There isn't too
  884. much I could do with the engine right now, even if I had the source code
  885. (except maybe add some sound stuff).  But I'd be willing to cough up a few
  886. sheckles if it came with a map/object/room/ NPC editor, sound, scripting,
  887. etc. 
  888.  
  889. I'd be interested in a con transcript if & when it becomes available, since I
  890. missed most of it.
  891.  
  892. - Frank
  893. ...........................................................................
  894.  
  895. Fm: Lary Myers 76004,1574                      # 378744 
  896. To: Frank Sachse 74140,2413                    Date: 18-Jun-93  15:52:16
  897.  
  898. No Frank, I don't think you're on anybody's hit list. It seems the general
  899. concensus was to make the engine Freeware for private use and have a licence
  900. agreement or some such for commercial use. That seems fair to me, after all,
  901. my original goal was to place the technique for ray casting into the general
  902. public so others could share in the visual effects and produce thier own
  903. games and applications. What people around me continue to beat on me about is
  904. that shouldn't there be some tighter control on someone using the engine to
  905. make a commercial game, raking in lots of money, and me not seeing a dime? I
  906. don't know, maybe if more game techniques became available to everyone then
  907. we could get out of the rut we're in with games all being the same.... I have
  908. to think about this somemore....
  909.  
  910. Comments are welcome - Lary
  911. ...........................................................................
  912.  
  913. Fm: Jaimi the OverTaxed 71700,1202             # 378964 
  914. To: Lary Myers 76004,1574                      Date: 18-Jun-93  21:43:11
  915.  
  916. Lary, I hope you consider everything when or if you come to a decision on
  917. licensing your engine. In come cases an engine can be a good portion of the
  918. game (especially in arcade games), but in many (if not most) cases, the
  919. engine is a relatively minor part of game development. Graphics, sound,
  920. story, plot, etc usually occupy the lions share of development time. How many
  921. times have you looked at software, and decided against it because they
  922. charged royalties or a fee if you used it in a product. Many people would not
  923. bother to even use it for personal use if they had the spectre of a fee if
  924. they went commercial hanging over their heads. Instead, If you truly wish to
  925. see some money from it, I say charge it in advance. The people will know in
  926. advance how much it would be, and would then be able to develop with
  927. impunity. However, I think that the most profit could come, like you say, of
  928. it just being freeware. You could build a good name for yourself in the
  929. industry, and in the end, more and better software could be developed. Who
  930. knows? Maybe some of those poor college students out there (who could not yet
  931. afford to license something like this) or someone else of similar nature,
  932. will come forward with enhanced code, or floor tiles, or multi-level floors,
  933. or some hitherto unthought of feature? It could get on the internet, and the
  934. whole world could help improve it. 
  935.  
  936. Jaimi
  937. ...........................................................................
  938.  
  939. Fm: Lary Myers 76004,1574                      # 379043 
  940. To: Nelson Yu 72066,1744 (X)                   Date: 19-Jun-93  00:23:05
  941.  
  942. Nelson, thanks for the comments. No, it shouldn't be any slower based on a
  943. coprocessor, however, I just recently had the chance to see it on a friends
  944. machine with a different VGA card. It was SLOW!!! I need to concentrate on
  945. this area before it really becomes a contender with the other 3D engines out
  946. there.
  947.  
  948. Lary
  949. ...........................................................................
  950.  
  951. Fm: Nelson Yu 72066,1744                       # 379090 
  952. To: Lary Myers 76004,1574 (X)                  Date: 19-Jun-93  02:54:17
  953.  
  954. >Nelson, thanks for the comments. No, it shouldn't be any slower based on a
  955. >coprocessor, however, I just recently had the chance to see it on a friends
  956. >machine with a different VGA card. It was SLOW!!! I need to concentrate on
  957. >this area before it really becomes a contender with the other 3D engines out
  958. >there.
  959.  
  960. I'm not sure how you could "speed up" the VGA card other than having your
  961. friend go out and buy another.
  962.  
  963. One sure fire way to speed up X3 is to redo it entirely in assembly language.
  964. ...........................................................................
  965.  
  966. Fm: Jerry Isdale 72330,770                     # 379511 
  967. To: Lary Myers 76004,1574 (X)                  Date: 19-Jun-93  22:07:16
  968.  
  969. Lary,
  970.  Posting the binary libs and some example programs would be one good way to
  971. distribute it, if you want to be shareware. The paying customers could get
  972. source and better documentation.
  973.  
  974.  I've come in late on this 3D engine bit. I've been working with the Rend386
  975. stuff, which isnt nearly the same as much of what you folks are talking
  976. about. However, there is a great interest in both styles. (Rend386, and the
  977. whole of the VR stuff has moved from the GraphDev forum to the new
  978. CyberForum.) 
  979.  
  980. Jerry Isdale
  981. ...........................................................................
  982.  
  983. Fm: Lary Myers 76004,1574                      # 379541 
  984. To: Jerry Isdale 72330,770                     Date: 19-Jun-93  23:16:21
  985.  
  986. Thanks Jerry, seems to be a common point of view. I would guess that the
  987. folks who want to dig into the technique, perhaps modify or rewrite it, vote
  988. for source as well as executable, while those who want to see what kinds of
  989. games/apps can be written, really want a construction kit. I am still
  990. considering the matter. 
  991. Lary
  992. ...........................................................................
  993.  
  994. Fm: Lary Myers 76004,1574                      # 379044 
  995. To: Jaimi the OverTaxed 71700,1202 (X)         Date: 19-Jun-93  00:26:34
  996.  
  997. Very good points Jaimi, and I am still pondering over the issue as yet. I am
  998. finding, as you say, that as more is added to the construction kit, that the
  999. ray casting routines themselves are becoming a smaller and smaller part of
  1000. the overall project. And, I haven't looked at EMS/XMS, or sound, or a dozen
  1001. other details. Thank you for the words of wisdom and I will factor it all
  1002. into my final decision.
  1003.  
  1004. Lary :)
  1005. ...........................................................................
  1006.  
  1007. Fm: Bart Stewart 76247,1130                    # 379078 
  1008. To: Lary Myers 76004,1574 (X)                  Date: 19-Jun-93  01:47:31
  1009.  
  1010.   And here's a view from the cynical side of the street: why not take your
  1011. 3-D algorithm, find a way to do it in hardware, and patent it?
  1012.   If that's not to your liking <g>, here's another point of view. I've found
  1013. that most of the best (and clearest) programs I've written have been those
  1014. which were written -- from scratch -- twice. The first one is sort of a
  1015. proof-of-concept; the second version, when I know what I want and how to
  1016. accomplish it, is invariably easier to read, maintain, and enhance.
  1017.   In the world of work, managers are rarely willing to permit you to make
  1018. that second pass, much less encourage you. But since this isn't "work," per
  1019. se, you have the opportunity to take as much or as little time as you like on
  1020. this project. With that in mind, one way to look at this project is that the
  1021. current version is a proof-of-concept, which all of us can learn from. Once
  1022. it's clear what kind of things work (or don't work), you can write the "real"
  1023. 3D engine, and distribute/license/sell it any way you like. 
  1024.   Comments, anyone?
  1025.   -- Bart
  1026. ...........................................................................
  1027.  
  1028. Fm: Andrew Amess 100141,1567                   # 379171 
  1029. To: Bart Stewart 76247,1130 (X)                Date: 19-Jun-93  09:34:14
  1030.  
  1031. I agree with most of the points here. But what you all seem to be missing,
  1032. and this may just be something I suffer from, is:
  1033. Who can read and understand somebody else's code anyway!? I think what may be
  1034. valuable is a detailed document on the theory, cut out the jargon because I
  1035. know zilch about maths, but I do know C C++ and ASM so I don't need to
  1036. struggle against somebody else's style of doiung things. What I need
  1037. personally is someone who has done a lot of thinking about an area and pay
  1038. them for the explanation. That way you own personal engine is developed for
  1039. your own project and is not based on some generic blob (don't take that as an
  1040. observation on the program under discussion coz I am wetting my pants just
  1041. thinking about running it!) But anyway you probably get my point. Most of us
  1042. here could write engines all day long, I have just done one with a friend for
  1043. platform games that has two demos with 9 or 10 levels of 'busy' parallax. But
  1044. there is no way on God's earth I could learn about this ray casting business
  1045. by tea time, eh?! So there's my point of view and to put it in a nutshell,
  1046. why not write a book for heaven's sake and put the ting \on a disk inside the
  1047. cover. 35.00 quids is not a lot for the benefits to be had. Hope this is
  1048. constructive. 
  1049. ........................................................................... 
  1050. Fm: Lary Myers 76004,1574                      # 379268 
  1051. To: Bart Stewart 76247,1130 (X)                Date: 19-Jun-93  13:28:47
  1052.  
  1053. Good points Bart, and being both an engineer and a manager at work I know
  1054. exactly what you mean about that second pass. I think I'm leaning back
  1055. towards putting the doggone thing up "as is" (I do have a rather lengthy
  1056. albiet dry documentation file which descibes ray casting) and letting people
  1057. run with it. What the hey, if it gets used for the benefit of all, then so be
  1058. it! (Sounds pretty noble eh?). My thoughts are that, even though mega-hours
  1059. have been put into the thing, I probably would have put those hours in anyway
  1060. because I wanted to see if I can do it. Not how complete, or how fast, or
  1061. what-have-you, just "Could I do it?" I've answered that question and now have
  1062. to struggle with - "Now that I have it, what am I going to do with it".
  1063. Writing it a second time is very appealing and I may just take that approach
  1064. (Don't worry all, I'll upload what I have first!).
  1065. Thanks for the comments. 
  1066. Lary
  1067.  
  1068. ___________________________ Subj: ACK3D Release ___________________________
  1069.  
  1070. Fm: Lary Myers 76004,1574                      # 380275 
  1071. To: All                                        Date: 20-Jun-93  22:32:30
  1072.  
  1073. I just uploaded the following files to Game Design; ACKSRC.ZIP which is the
  1074. full source, header files, etc and ACKKIT.ZIP which is the Construction Kit
  1075. in its present, uncompleted form. I decided to uploaded the stuff "as-is"
  1076. because of pressing deadlines at work, which will keep me from spending time
  1077. with the engine, and I know many of you are anxious to begin using it for
  1078. your own creations. Please accept my apologies for the incompleteness of the
  1079. files, I simply ran out of time, and for any gross errors that you may find
  1080. in the code.
  1081. After considerable thought on how to distribute the engine, I've settled on
  1082. giving it to the general public as PULICWARE, please see the text files
  1083. included in the above mentioned ZIP files for further details.
  1084. My thanks to all of you how have provided support and encouraged me to work
  1085. steadily on the engine, I had some hair raising moments where I wanted to
  1086. toss the whole thing out the nearest window, if not for your quick and
  1087. concerned comments, I might have done just that.
  1088. This will probably be the only version of the source that I upload. Now that
  1089. its out , I will continue on my own path with other goals I have for the
  1090. engine. I've already used it at home to build mazes that my kids love to walk
  1091. through, giving me much satisfaction, and I have other ideas I'd like to try
  1092. out. But I didn't want to keep everyone waiting, so here it is!
  1093.  
  1094. Thanks again,
  1095. Lary Myers
  1096. ...........................................................................
  1097.  
  1098. Fm: John W. Ratcliff 70253,3237                # 381153 
  1099. To: Lary Myers 76004,1574 (X)                  Date: 21-Jun-93  23:30:26
  1100.  
  1101. Larry,
  1102.  
  1103. It's called a royalty.  I think that would make all happy.  Technogogy fades
  1104. fast, so get it out there, make some friends, and share in the profits.
  1105.  
  1106. John.
  1107. ...........................................................................
  1108.  
  1109. Fm: Lary Myers 76004,1574                      # 381168 
  1110. To: John W. Ratcliff 70253,3237 (X)            Date: 22-Jun-93  00:08:04
  1111.  
  1112. Thanks John - I've already uploaded the entire kit-and-kaboodle as freeware.
  1113. That was my intention from the start, to share the technique with everyone.
  1114. It's nowhere near finished, or even commercial quality (not just my opinion)
  1115. so its left up to those out there to see what can be done with it. I will be
  1116. continuing on the construction kit for those who don't want to get into the
  1117. engine, and I've already added things to the engine that have not been
  1118. uploaded.....We'll see. Thanks for the comments.
  1119.  
  1120. Lary
  1121. ...........................................................................
  1122.  
  1123. Fm: John W. Ratcliff 70253,3237                # 381397 
  1124. To: Lary Myers 76004,1574 (X)                  Date: 22-Jun-93  09:47:04
  1125.  
  1126. Lary,
  1127.  
  1128. If I can find the time, I will re-write the 2d primatives and re-upload that
  1129. as free-ware.  A rewrite of the 2d should help the frame rate.  It's still in
  1130. mode-X right?  Moving it out of mode-X will speed it up on most graphics
  1131. cards.
  1132.  
  1133. John.
  1134. ...........................................................................
  1135.  
  1136. Fm: Lary Myers 76004,1574                      # 381433 
  1137. To: John W. Ratcliff 70253,3237 (X)            Date: 22-Jun-93  10:56:24
  1138.  
  1139. Thanks John, I look forward in seeing what can be done with it. When you
  1140. download the source you will find some ASM files that allow the engine to
  1141. work in a variety of modes. It is in a mode X mode now, there are also
  1142. version in straight mode 13h as well.
  1143.  
  1144. Lary
  1145. ...........................................................................
  1146.  
  1147. Fm: Jaimi the OverTaxed 71700,1202             # 380587 
  1148. To: Lary Myers 76004,1574 (X)                  Date: 21-Jun-93  11:15:50
  1149.  
  1150. Thanks Lary! You're a hero! Now if it will only becaome available for
  1151. download!
  1152.  
  1153. Jaimi
  1154. ...........................................................................
  1155.  
  1156. Fm: Lary Myers 76004,1574                      # 380641 
  1157. To: Jaimi the OverTaxed 71700,1202 (X)         Date: 21-Jun-93  12:16:52
  1158.  
  1159. Thanks Jaimi - "Hero"?? HA! You haven't seen the code yet!!!! <G>
  1160.  
  1161. Lary
  1162. ...........................................................................
  1163.  
  1164. Fm: Nelson Yu 72066,1744                       # 380655 
  1165. To: Jaimi the OverTaxed 71700,1202 (X)         Date: 21-Jun-93  12:40:44
  1166.  
  1167. >Thanks Lary! You're a hero! Now if it will only becaome available for
  1168. >download!
  1169.  
  1170. Me too, I'm always trying to download a file that's not there.
  1171. ...........................................................................
  1172.  
  1173. Fm: Bart Stewart 76247,1130                    # 380625 
  1174. To: Lary Myers 76004,1574 (X)                  Date: 21-Jun-93  11:59:39
  1175.  
  1176.   Thanks, Lary. I'm looking forward to seeing "NEW IN GAMDEV LIB!" too. <g>
  1177. Just want to let you know that if anything I do with your code sees the light
  1178. of day, you'll get full credit.
  1179.   Say -- does that mean we can include your phone number for support? <grin>
  1180.   <kidding> Thanks again for being willing to share your hard work, Lary.
  1181.   -- Bart
  1182. ...........................................................................
  1183.  
  1184. Fm: Lary Myers 76004,1574                      # 380642 
  1185. To: Bart Stewart 76247,1130 (X)                Date: 21-Jun-93  12:17:53
  1186.  
  1187. Thank you Bart. There is still so much I wanted to do with it. I hope people
  1188. don't look at what's there and get disappointed when its not complete.
  1189.  
  1190. Lary
  1191. ...........................................................................
  1192.  
  1193. Fm: Patrick Reilly 71333,2764                  # 380771 
  1194. To: Lary Myers 76004,1574 (X)                  Date: 21-Jun-93  15:01:40
  1195.  
  1196. Lary,
  1197.   I'll send you a copy when I get it encapsulated in C++... <G>
  1198.   Thanks - look forward to checking it out... (maybe some grateful artist
  1199. types will create some nice panels for your kids' games...)
  1200.         -Pat-
  1201. ...........................................................................
  1202.  
  1203. Fm: Lary Myers 76004,1574                      # 380791 
  1204. To: Patrick Reilly 71333,2764 (X)              Date: 21-Jun-93  15:31:58
  1205.  
  1206. Thanks Pat - Yes, that would be nice to get a variety of bitmaps. Maybe we
  1207. could start a library of bitmaps right here in Game Design?
  1208. Looking forward to seeing the C++ equivalent....
  1209.  
  1210. Lary
  1211. ...........................................................................
  1212.  
  1213. Fm: Patrick Reilly 71333,2764                  # 380880 
  1214. To: Lary Myers 76004,1574 (X)                  Date: 21-Jun-93  18:12:35
  1215.  
  1216. Lary,
  1217.   From all the people (myself included <g>) that have been pestering you
  1218. about the engine, there should certainly be enough interest/usage that a lib
  1219. of panels would not be tiny...
  1220.         -Pat-
  1221. ...........................................................................
  1222.  
  1223. Fm: Lary Myers 76004,1574                      # 381038 
  1224. To: Patrick Reilly 71333,2764 (X)              Date: 21-Jun-93  21:26:25
  1225.  
  1226. Great! Maybe I should look at a conversion utility to write the raw image
  1227. files or something similiar. In its present form the engine will read raw
  1228. images or Deluxe Paint BBM files. The first thing would be a modification to
  1229. read from a single picture file instead of all the separate little files.....
  1230. Uhmmm....
  1231.  
  1232. Lary
  1233. ...........................................................................
  1234.  
  1235. Fm: Patrick Reilly 71333,2764                  # 381248 
  1236. To: Lary Myers 76004,1574 (X)                  Date: 22-Jun-93  02:15:11
  1237.  
  1238. Lary,
  1239.   Though I only use Windows once in a proverbial blue moon, a *lot* of people
  1240. do (and nearly everybody *can*) - which means that Windows' .BMP files might
  1241. be of interest (the MSC and BC++ manuals explain the file format and, for
  1242. BC++, the Resource Workshop can create .BMP bitmaps...) Of course, you'd need
  1243. to run Windows in a 256-color mode to make the *right* ones...
  1244.         -Pat-
  1245. ...........................................................................
  1246.  
  1247. Fm: Lary Myers 76004,1574                      # 381434 
  1248. To: Patrick Reilly 71333,2764 (X)              Date: 22-Jun-93  10:57:49
  1249.  
  1250. That would be the problem for most Pat, since a SVGA card would be needed to
  1251. get the 256 colors out of Windows. I have access to a variety of cards, but
  1252. normally only use Windows in 16 color mode.
  1253.  
  1254. Lary
  1255. ...........................................................................
  1256.  
  1257. Fm: Nelson Yu 72066,1744                       # 381494 
  1258. To: Patrick Reilly 71333,2764 (X)              Date: 22-Jun-93  12:54:25
  1259.  
  1260. >Though I only use Windows once in a proverbial blue moon, a *lot* of people
  1261. >do (and nearly everybody *can*) - which means that Windows' .BMP files might
  1262. >be of interest (the MSC and BC++ manuals explain the file format and, for
  1263. >BC++, the Resource Workshop can create .BMP bitmaps...) Of course, you'd
  1264. need >to run Windows in a 256-color mode to make the *right* ones...
  1265.  
  1266. It a hassle to work with Windows in 256-color mode. First problem is finding
  1267. drivers, second would be, only bitmaps are in 256-colors, everything else no
  1268. matter what, it's usually in 16-colors. 8(
  1269.  
  1270. It's a honeymoon at first, but you find CPU and the video card have better
  1271. things to do<g>.
  1272. ...........................................................................
  1273.  
  1274. Fm: Patrick Reilly 71333,2764                  # 381653 
  1275. To: Nelson Yu 72066,1744 (X)                   Date: 22-Jun-93  17:08:27
  1276.  
  1277. Nelson,
  1278.   What I was thinking (and might try this for REHACK) is to just load a
  1279. 256-color driver for *making* bitmaps, then swap back to my 16-color for
  1280. normal Windows work (which is basically non-existent except for the Recorder
  1281. to make WAV files)...
  1282.         -Pat-
  1283. ...........................................................................
  1284.  
  1285. Fm: Nelson Yu 72066,1744                       # 381754 
  1286. To: Patrick Reilly 71333,2764 (X)              Date: 22-Jun-93  19:27:44
  1287.  
  1288. >  What I was thinking (and might try this for REHACK) is to just load a
  1289. >256-color driver for *making* bitmaps, then swap back to my 16-color for
  1290.  
  1291. I guess you'll strip the header off the Windows bitmap? and to make sure
  1292. there is no RLE..
  1293.  
  1294. >normal Windows work (which is basically non-existent except for the Recorder
  1295. >to make WAV files)...
  1296.  
  1297. Can't say I love it, can't say I hate it. I just use it<g>.
  1298. ...........................................................................
  1299.  
  1300.  
  1301. Fm: E. Pinnell [CyberSim] 70031,435            # 382215 
  1302. To: Nelson Yu 72066,1744 (X)                   Date: 23-Jun-93  10:15:03
  1303.  
  1304. Nelson,
  1305.  
  1306.   Programming Windows to do anything useful is a major PITA.  OS/2's APIs are
  1307. *MUCH* nicer.  Unfortunately, MS marketing whips IBMs marketing, so we're
  1308. stuck with Windows.
  1309.  
  1310. Eric Pinnell;
  1311. ...........................................................................
  1312.  
  1313. Fm: Nelson Yu 72066,1744                       # 382574 
  1314. To: E. Pinnell [CyberSim] 70031,435 (X)        Date: 23-Jun-93  20:22:01
  1315.  
  1316. >  Programming Windows to do anything useful is a major PITA.  OS/2's APIs
  1317. are >*MUCH* nicer.  Unfortunately, MS marketing whips IBMs marketing, so
  1318. we're >stuck with Windows.
  1319.  
  1320. Your the last one to tell me OS/2 APIs are better than Windows'(no offence).
  1321. I know it! But the fact the major problems with Windows 3.x are
  1322. fixed/covered up/still there?<g> in Win32. I dislike MDI and prefer OS/2's
  1323. Parent->Child relationship.
  1324.  
  1325. P.S As long as you hide the problems and for me NOT to use the C/SDK, who
  1326. wouldn't be happy?
  1327. ...........................................................................
  1328.  
  1329. Fm: E. Pinnell [CyberSim] 70031,435            # 382906 
  1330. To: Nelson Yu 72066,1744 (X)                   Date: 24-Jun-93  09:00:48
  1331.  
  1332. Nelson,
  1333.  
  1334.    Win32 is a heck of a lot better than Win16.  However,  NTs market share
  1335. isn't going to amount ot a row of beans. Some people are trying to use Win32s
  1336. on top of Win 3.1 so they can port easy to NT, but the reality is, to design
  1337. a threaded program means reengineering that program from the ground up.  And
  1338. despite what the press pundits say, Windows 4.0 won't be around until early
  1339. 1995.    Personally, I am going to write my code to make it portable.  It's
  1340. the only  way to go in the 1990's.
  1341.  
  1342. Eric Pinnell
  1343. ...........................................................................
  1344.  
  1345. Fm: Nelson Yu 72066,1744                       # 382933 
  1346. To: E. Pinnell [CyberSim] 70031,435 (X)        Date: 24-Jun-93  10:02:21
  1347.  
  1348. >   Win32 is a heck of a lot better than Win16.  However,  NTs market share
  1349. >isn't going to amount ot a row of beans.
  1350.  
  1351. True, but I don't think MS intended it to take the lion's share of the
  1352. market.
  1353.  
  1354. >Some people are trying to use Win32s on top of Win 3.1 so they can port
  1355. >easy to NT,
  1356.  
  1357. I guess Microsoft isn't the one encouraging that or are they? Well one
  1358. reason they might is, OS/2 can not even possibly run Win32s programs(VxDs).
  1359.  
  1360. >but the reality is, to design a threaded program means reengineering that
  1361. >program from the ground up.
  1362.  
  1363. What's life without multi-threading and asynchronous i/o?
  1364. An app can achieve maximum performance by taking advantage of threads.
  1365. So it's worth the extra effort...sometimes, unless it's very small.
  1366.  
  1367. >And despite what the press pundits say, Windows 4.0 won't be around until
  1368. >early 1995.
  1369.  
  1370. Write for Win32 and port to Win32c then...
  1371.  
  1372. >   Personally, I am going to write my code to make it portable.  It's the
  1373. only > way to go in the 1990's.
  1374.  
  1375. With C++, App. Frameworks? Class libs? Tool X? The fact portability libs
  1376. are lowest common denominator of all the OSes they support. They take no
  1377. advantage of the OS capabilities(i.e No lib has threading available).
  1378.  
  1379. How else are supposed to make your code portable? You surely wouldn't use
  1380. any "advanced features" or maybe encapsulate the threading process, the
  1381. initialization process etc.. It hard to make your code portable when
  1382. everyone has their own ideas on what's "standard". One thing I know, avoid
  1383. writing C code like the plague, C for GUIs is as non-portable as you can
  1384. get.
  1385. ...........................................................................
  1386.  
  1387. Fm: E. Pinnell [CyberSim] 70031,435            # 383273 
  1388. To: Nelson Yu 72066,1744 (X)                   Date: 24-Jun-93  19:30:12
  1389.  
  1390. Nelson,
  1391.  
  1392.     Actually, IBM plans to add VxD support for the next version of OS/2.  As
  1393. MS says, it's simply a matter of 1's and 0's.  Encalsuplation can help a lot,
  1394. and this is what I intend to do.  The GUI stuff is portable, albeit at a very
  1395. simple level. I prefer to use C++.
  1396.  
  1397. Eric Pinnell
  1398. ...........................................................................
  1399.  
  1400. Fm: Nelson Yu 72066,1744                       # 383370 
  1401. To: E. Pinnell [CyberSim] 70031,435            Date: 24-Jun-93  21:43:40
  1402.  
  1403. >    Actually, IBM plans to add VxD support for the next version of OS/2.  As
  1404. >MS says, it's simply a matter of 1's and 0's.
  1405.  
  1406. What I expected, but can they? MS has a lot of trickery, not all of which
  1407. do I find funny. 'Though having Win32s compatability is another story.
  1408.  
  1409. >Encalsuplation can help a lot, and this is what I intend to do.  The GUI
  1410. >stuff is portable, albeit at a very simple level. I prefer to use C++.
  1411.  
  1412. GUI program designs are... code isn't(not a problem unless the app has more
  1413. than 10 000 lines of code).
  1414.  
  1415. IMHO, a Win32 <-> OS/2 port is still considerably difficult(if you were to
  1416. try it), let alone one from DOS(wouldn't try it!). Encapsulating OS/2's GPI,
  1417. WIN, 'DOS' APIs and Win32's GDI and the other totally disorganized and
  1418. pathetically named, yet very functional<g> APIs is a herculean task.
  1419.  
  1420. The only way possible is with a 3rd party tool/lib or you design your own
  1421. App. Framework with all the 'goodies' of each OS. Either way it's easier to
  1422. simply write plain vanilla OS/2 PM or Win32 C++ code.
  1423.  
  1424. P.S I'll never understand IBM's pricing scheme.. C Set++, OS/2 2.1 and
  1425. C Set/2 are all oddly priced.
  1426. ...........................................................................
  1427.  
  1428. _________________________ Subj: Applause for ACK3D! _________________________
  1429.  
  1430. Fm: Mark Betz/Ass't SysOp 76605,2346           # 381920 
  1431. To: Lary Myers 76004,1574 (X)                  Date: 22-Jun-93  22:12:45
  1432.  
  1433. Hi, Lary. Just wanted to be the first to give you a round of applause for
  1434. ACK3D.
  1435.  
  1436. <clap, clap, roar, shout, bravo!>
  1437.  
  1438. I think you deserve a major pat on the back, not just for what you've
  1439. accomplished with the engine, but for your decision to release it to the
  1440. public domain. That's in the true spirit of this place, and I was very happy
  1441. to see it work out that way.
  1442.  
  1443. The engine is overall much faster and smoother. The doors and objects are
  1444. very nice. I'm still figuring out the map editor, and I think someone needs
  1445. to write a good wall and object editor for it (isn't someone working on
  1446. that?) 
  1447.  
  1448. All in all a major accomplishment!
  1449.                                                         --Mark
  1450. ...........................................................................
  1451.  
  1452. Fm: M&S Harrison (DES) 76057,101               # 381956 
  1453. To: Mark Betz/Ass't SysOp 76605,2346 (X)       Date: 22-Jun-93  22:41:39
  1454.  
  1455. Mark,
  1456.  
  1457.  It sounds like you've seen what he uploaded...
  1458.  
  1459.  If so, when will it be available in the libs?
  1460. ...........................................................................
  1461.  
  1462. Fm: Mark Betz/Ass't SysOp 76605,2346           # 382102 
  1463. To: M&S Harrison (DES) 76057,101 (X)           Date: 23-Jun-93  06:42:11
  1464.  
  1465. Hi, Michael. The two files ACKSRC.ZIP and ACKKIT.ZIP, should be available in
  1466. LIBRARY 11 (Game Design) now.
  1467.                                                         --Mark
  1468. ...........................................................................
  1469.  
  1470. Fm: Lary Myers 76004,1574                      # 381969 
  1471. To: Mark Betz/Ass't SysOp 76605,2346 (X)       Date: 22-Jun-93  23:11:28
  1472.  
  1473. Mark,
  1474.   Thank you very much for the comments. It's just that sort of feedback that
  1475. make all the work seem worth it. While the entire project was not anywhere
  1476. near finished my thought was to put things up "as-is" to allow others to
  1477. expand on what had already been done. It will now be up to everyone to decide
  1478. if they wish to contribute to the lib with thier own enhancements. Maybe the
  1479. Game Design lib will be a good place for people to visit, get involved with
  1480. some code, design some games, and so forth. With Bob's ReHack project
  1481. starting up nicely, and ACK3D as well, things are looking mighty exciting in
  1482. this library. I'd also like to thank you Mark, because I know what being a
  1483. SysOp means as far as time and effort. Keep up the good work!
  1484. Lary
  1485. ...........................................................................
  1486.  
  1487. Fm: Mark Betz/Ass't SysOp 76605,2346           # 382103 
  1488. To: Lary Myers 76004,1574 (X)                  Date: 23-Jun-93  06:42:13
  1489.  
  1490. Thanks, Lary. I think this section was intended to be exactly what you
  1491. describe, and over the years it's certainly turning out that way.
  1492.  
  1493.                                                         --Mark
  1494. ...........................................................................
  1495.  
  1496. Fm: M&S Harrison (DES) 76057,101               # 381995 
  1497. To: Mark Betz/Ass't SysOp 76605,2346 (X)       Date: 22-Jun-93  23:51:48
  1498.  
  1499. Mark,
  1500.  
  1501.  I hope my last message didn't come across as harsh... That's not how it was
  1502. meant.  I'm just eager to see ACK3D to see how difficult it would be to
  1503. include in ReHack.
  1504.  
  1505.  - MichaelH
  1506. ...........................................................................
  1507.  
  1508. Fm: Mark Betz/Ass't SysOp 76605,2346           # 382104 
  1509. To: M&S Harrison (DES) 76057,101 (X)           Date: 23-Jun-93  06:42:16
  1510.  
  1511. Nope, not harsh at all. Standard "where the hell is the file" request. Get
  1512. 'em all the time <g>.
  1513.  
  1514.                                                         --Mark
  1515. ...........................................................................
  1516.  
  1517. Fm: Mark Betz/Ass't SysOp 76605,2346           # 382097 
  1518. To: all                                        Date: 23-Jun-93  06:28:14
  1519.  
  1520. The following new files are now available in LIBRARY 11 (Game Design):
  1521.  
  1522. [76004,1574]
  1523. ACKSRC.ZIP/Bin     146411     20-Jun-93
  1524.  
  1525.   Title   : ACK-3D Engine Source, Beta Version (IBM)
  1526.   Keywords: ACK 3D GRAPHICS VGA RAYCAST SOURCE CODE IBM
  1527.  
  1528.   Here is the source code and associated files for the ACK3D engine.
  1529.   This version uses Borland C++ Version 3.1 and Microsoft MASM assembler. To
  1530.   run the engine with bitmaps and map files please download the file
  1531.   ACKKIT.ZIP also available in this library. Uploaded as PUBLICWARE by the
  1532.   author. Replaces last iteration in X3.ZIP (Library 11).
  1533.  
  1534.  
  1535. [76004,1574]
  1536. ACKKIT.ZIP/Bin     152535     20-Jun-93
  1537.  
  1538.   Title   : ACK-3d Construction Kit, Alpha Version (IBM)
  1539.   Keywords: ACK 3D GRAPHICS VGA RAYCAST SOURCE CODE IBM
  1540.  
  1541.   This is the runtime construction kit (not fully completed yet, but
  1542.   usable) for the ACK3D engine. The source for the engine is contained in the
  1543.   file ACKSRC.ZIP also available in this library. A VGA is required. Uploaded
  1544.   as PUBLICWARE by the author.
  1545. ...........................................................................
  1546.  
  1547. Fm: John Roberts 72677,3265                    # 382390 
  1548. To: [F] SYSOP (X)                              Date: 23-Jun-93  15:53:13
  1549.  
  1550. Hi,
  1551.  
  1552. I've been following the Game Design messages and hear talk of two files
  1553. recently posted, ACKSRC.ZIP and ACKKIT.ZIP (posted by Lary Myers -- 76004,
  1554. 1574).  I can't seem to find them in the library.
  1555.  
  1556. Can you help?
  1557.  
  1558. thanks,
  1559.  
  1560. John 
  1561. ...........................................................................
  1562.  
  1563. Fm: Nightshift/SYSOP 76703,657                 # 382394 
  1564. To: John Roberts 72677,3265 (X)                Date: 23-Jun-93  16:07:43
  1565.  
  1566. Hi John -- The files are available in our Library 11 (Game Design).  Which
  1567. command did you use when looking for them?  BROWSE will retrieve them.
  1568.  
  1569.      * Nightie *
  1570. ...........................................................................
  1571.  
  1572. Fm: Mark Betz/Ass't SysOp 76605,2346           # 382516 
  1573. To: John Roberts 72677,3265 (X)                Date: 23-Jun-93  19:30:45
  1574.  
  1575. Hi, John. As Nightie has pointed out, those two files are available in
  1576. LIBRARY 11 (Game Design). In LIB 11 you can type BRO KEY:ACK to find the
  1577. files, or if you happen to be in a different library, type BRO ALL KEY:etc.
  1578. to find files across all of the libraries. See the help files in LIBRARY 1
  1579. (General/Help) for more information, or type HELP at any ! prompt.
  1580.  
  1581.                                                         --Mark
  1582. ...........................................................................
  1583.  
  1584. Fm: Bob Provencher/GD SL 71621,2632            # 382581 
  1585. To: John Roberts 72677,3265 (X)                Date: 23-Jun-93  20:30:49
  1586.  
  1587. Hi John,
  1588.  
  1589. As Nightie's already told you, the files are available in Library 11.  I;ve
  1590. just checked and they are there, do you need help downloading them?
  1591.  
  1592. Bob
  1593. ...........................................................................
  1594.  
  1595. __________________________ Subj: Future of ACK3D __________________________
  1596.  
  1597. Fm: Frank Sachse 74140,2413                    # 382954 
  1598. To:  76004,1574 (X)                            Date: 24-Jun-93  10:39:02
  1599.  
  1600. Thanks Lary for making your engine & source available.  I would like to
  1601. return the favour by adding to it what I can, and perhaps others can do the
  1602. same, so that we can collectivity make improvements.  I'm not sure what Lary
  1603. had in mind from here on, ie. what future mods he has in the works, but here
  1604. is a summary things that needs to be added or improved (from NOTES.txt in
  1605. ACKSRC.zip):
  1606.  
  1607. a. Accuracy at certain angles
  1608. b. Objects are getting clipped off the screen when their centerpoint is
  1609.    reached.
  1610. c. Collision detection
  1611. d. Secret doors are mariginally working.
  1612. e. Object movement is restricted to always turning right when bumping into an
  1613.    obstacle.
  1614. f. Other types of doors, besides secret and sliding doors needs to be
  1615.    implemented.
  1616. g. The goal actions need to be enhanced
  1617.  
  1618. I would add to that sound capabilities, ie. CMF/VOC/MID/MOD/etc.  I can't
  1619. help much on A-G above, but I will work on the sound part, if that helps,
  1620. then turn my mods over to Lary for inclusion in future releases of the
  1621. engine.  Is that how we should preceed now?  Make our own mods and make them
  1622. available to others here or only thru Lary?
  1623.  
  1624. Perhaps those more artistically inclined can create more objects & walls?
  1625.  
  1626. Just trying to keep the ACK3D ball rolling.
  1627.  
  1628. - Frank, self-appointed ACK3D ball roller...
  1629. ...........................................................................
  1630.  
  1631. Fm: Frank Sachse 74140,2413                    # 383050 
  1632. To: Lary Myers 76004,1574 (X)                  Date: 24-Jun-93  12:46:36
  1633.  
  1634. I forgot to add to the wish list:
  1635.  
  1636. - moving objects - people (moving & stationary) - interacting with objects,
  1637. ie. picking up -> invoking action, like a sound
  1638.   or message
  1639.  
  1640. Is someone working on these or how should I go about doing it myself?
  1641. Thanks...
  1642.  
  1643. - Frank
  1644.  
  1645. PS does someone have a relatively complete con transcript from last Thurs? If
  1646. so, please email me one.  Thx!
  1647. ...........................................................................
  1648.  
  1649. Fm: Lary Myers 76004,1574                      # 383096 
  1650. To: Frank Sachse 74140,2413 (X)                Date: 24-Jun-93  13:57:49
  1651.  
  1652. Hi Frank, Sounds like a good idea to keep the ball rolling. I would hate to
  1653. see the whole discussion die out now that everyone has access to the source.
  1654. Here is one suggestion:
  1655.  
  1656. I am willing to mediate release of future versions if nobody has any
  1657. objections, so if anyone has new features or modifications, or suggestions,
  1658. then upload them to me and I will put together a release upload. This would
  1659. avoid having mulitple versions in the lib and the confusion on which one to
  1660. download. In fact, my copy of the engine is already significantly different
  1661. from the uploaded version that I had to write a map conversion utility to
  1662. convert my old maps to the new format. This one change alone would make it
  1663. difficult to know which engine to use and so forth. Let me put out a message
  1664. to all and see what the response is...
  1665. Lary
  1666. ...........................................................................
  1667.  
  1668. Fm: Lary Myers 76004,1574                      # 383471 
  1669. To: Frank Sachse 74140,2413                    Date: 24-Jun-93  23:37:22
  1670.  
  1671. Hi Frank,
  1672.  
  1673. >>PS does someone have a relatively complete con transcript from last Thurs?
  1674. If so, please email me one.  Thx!
  1675.  
  1676. Yep! I uploaded a transcript just today so it should be appearing soon.
  1677.  
  1678. Lary
  1679. ...........................................................................
  1680.  
  1681. Fm: Lary Myers 76004,1574                      # 383101 
  1682. To: All                                        Date: 24-Jun-93  14:03:45
  1683.  
  1684. Now that ACK3D has been released and is getting into the hands of quite a few
  1685. of you, we should consider where to go next. One of the areas to concentrate
  1686. on is how to maintain source control (I know, an ugly term, but
  1687. necessary...). I am willing to mediate changes/enhancements, etc into the
  1688. engine and build a version for future releases. This accomplishes two goals.
  1689. One, it allows all changes to be funnelled through one source, and two, it
  1690. lets me see what impact the changes will have on the overall project. If
  1691. nobody has any objections then we can proceed on this. When you have an
  1692. update and wish to contribute it to the overall library then upload it to me
  1693. via my email address and I will merge it into the engine. I already have a
  1694. different version of the engine than what was uploaded and continue to work
  1695. on it steadily (time permitting). Let me know how you all feel about this
  1696. approach or any suggestions on how to proceed.
  1697. Lary
  1698. ...........................................................................
  1699.  
  1700. Fm: Lary Myers 76004,1574                      # 383104 
  1701. To: All                                        Date: 24-Jun-93  14:07:56
  1702.  
  1703. Just wanted to let everyone know what's been happening since the source and
  1704. kit were uploaded:
  1705.  
  1706. 1. Major changes have been made to the way maps are stored internally in
  1707. ACK3D. They now take up a word instead of a byte and there is now a separate
  1708. map for objects and walls.
  1709. 2. There are now three types of doors. Normal sliding doors, splitting doors
  1710. (ala Star Trek) and the secret doors.
  1711. 3. Basic sound blaster support has been added to the goal screen where it
  1712. will play a .VOC file when displaying the final goal screen. (This was a
  1713. temporary add-in to thrill the kids, and is planned to be greatly enhanced).
  1714. 4. Changes to the map editor to correspond to items 1 and 2 above. 
  1715. Lary
  1716. ...........................................................................
  1717.  
  1718. Fm: Lary Myers 76004,1574                      # 383111 
  1719. To: All                                        Date: 24-Jun-93  14:18:14
  1720.  
  1721. Here is a breakdown of some suggestions for what can be started and
  1722. contributed to for the ACK3D project:
  1723.  
  1724. 1. Bitmaps! The more bitmaps we can get the better. Any and all themes can be
  1725. addressed, space, fantasy, etc. The bitmaps can take the form of raw image
  1726. files or Deluxe Paint II .LBM or .BBM files. Hopefully a library can be
  1727. started in the Game Design lib where you can log in, select the theme you are
  1728. interested in, and download....
  1729. 2. Sound - I've already got some interested parties looking into this, the
  1730. basic requirement is what the theme will be to create the sound. This cannot
  1731. proceed too far until sound support is built into the engine, but we should
  1732. be thinking about a sound library.
  1733. 3. Coding changes - Areas such as performance, the ability to shoot,
  1734. interaction with objects, etc. These are all areas that someone can take the
  1735. ball and run with it. Any and all contributions will be welcome.
  1736. 4. Utilities - Map editors, image editors, etc. are all areas that can be
  1737. concentrated on.
  1738.  
  1739. Bottom line: LOTS of things to do! This can be a very exciting and fun
  1740. project if we all pool are respective talents and donate what we have to a
  1741. common goal. I don't mean give away everything, just what you feel will help
  1742. and what you're comfortable with. I am willing to mediate all changes to the
  1743. engine unless someone else wishes to coordinate building uploadable releases.
  1744. Let me know and please let me know of any comments/suggestions on anything
  1745. concerning the project.
  1746.  
  1747. Thanks, Lary
  1748. ...........................................................................
  1749.  
  1750. Fm: Lary Myers 76004,1574                      # 383120 
  1751. To: All                                        Date: 24-Jun-93  14:32:04
  1752.  
  1753. Okay, how about a show of hands on who wants to work on the following:
  1754.  
  1755. 1. Bitmaps (the 64x64 images used for walls and objects)
  1756. 2. Full screen displays (320x200 256c pictures for still areas like the goal
  1757. and storyline).
  1758. 3. Sound (various sounds including walking, doors creaking and swooshing,
  1759. etc) 
  1760. 4. Video enhancements (SPEED - FASTER and FASTER!)
  1761. 5. Object intelligence (Objects that move towards you, away from you, etc)
  1762. 6. Utilities (Map Editors, Object/Image editors, etc)
  1763. 7. Game Ideas (We need a selection of storylines to begin working towards).
  1764.  
  1765. Let me know if you would like to contribute to any of the areas above, or any
  1766. other areas you feel comfortable with. I will maintain a list and post
  1767. progress reports periodically so we can all get a feel of how things are
  1768. coming along.
  1769.  
  1770. Thanks - Lary
  1771. ...........................................................................
  1772.  
  1773. Fm: Bart Stewart 76247,1130                    # 383148 
  1774. To: Lary Myers 76004,1574 (X)                  Date: 24-Jun-93  15:50:24
  1775.  
  1776.   Lary, it seems to me, after running/examining the latest incarnation of
  1777. ACK3D, that there's still a lot of work to be done in two areas before it
  1778. will make sense to really think about scenario design.
  1779.   First, the engine itself seems to be running at Wolf speeds now -- well
  1780. done! But it's no insult when I say that the player/world interaction -- the
  1781. object handling -- is still extremely primitive. For example, will you want
  1782. the player to be able to manipulate objects, or limit yourself to the Wolf
  1783. model, where moving onto object squares simply updates a status? If you want
  1784. to interact with the world, that implies a user interface; mouse cursors,
  1785. keyboard controls, and so on. Also, what you DO with any object has to be
  1786. displayed somehow. How will you show laser blasts or fireball spells?
  1787.   Secondly, a working, complete game will need a sort of "shell" built as an
  1788. interface between the graphics engine and the player. This layer would be
  1789. where you keep track of (and display) things like health, current weapon,
  1790. objects in your possession, and so on. I can see there being a lot of variety
  1791. in what people want to show the user, so I'm not sure it makes sense to
  1792. expect YOU to build this. I bring it up because it may affect the engine
  1793. itself.   Displaying a Wolf-style status bar at the bottom of the screen is,
  1794. I would think, nearly essential, and means that you no longer have to display
  1795. as many rows of maze display data. Displaying an Underworld-style menu/item
  1796. area on the right of the maze display means fewer columns to calculate and
  1797. display. Let me suggest this: let those who want to work out their own
  1798. presentation layer. For your part, you could make that a lot easier by
  1799. generalizing your display engine to programmer- (or even user-) definable
  1800. scales. That is, retool the display part to make variables like XWinSize and
  1801. YWinSize out of 320 and 200, respectively.
  1802.   Comments?
  1803.   -- Bart
  1804. ...........................................................................
  1805.  
  1806. Fm: Patrick Reilly 71333,2764                  # 383227 
  1807. To: Bart Stewart 76247,1130 (X)                Date: 24-Jun-93  18:19:24
  1808.  
  1809. Bart,
  1810.   One thing you might want to keep in mind is that some of the REHACK work
  1811. will probably be applicable toward your interface stuff; the windows classes
  1812. (including a framework, event messaging, buttons, etc) But they WOULD require
  1813. that the 3D area be non-full-screen...
  1814.         -Pat-
  1815. ...........................................................................
  1816.  
  1817. Fm: Bart Stewart 76247,1130                    # 383493 
  1818. To: Patrick Reilly 71333,2764                  Date: 25-Jun-93  00:07:19
  1819.  
  1820.   Pat, using Rehack classes as part of ACK3D code would require that the
  1821. Rehack code be converted from C++ to straight C. Are you volunteering? <g>
  1822. ...........................................................................
  1823.  
  1824. Fm: M&S Harrison (DES) 76057,101               # 383600 
  1825. To: Bart Stewart 76247,1130                    Date: 25-Jun-93  06:09:15
  1826.  
  1827. Bart,
  1828.  
  1829.  >> Pat, using Rehack classes as part of ACK3D code would require that the
  1830. Rehack code be converted from C++ to straight C. Are you volunteering? <g>
  1831.  
  1832.  Actually, you could port ACK3D to C++ just as easily.  In either direction,
  1833. it's not very hard.  <no, I'm not volunteering :-) maybe someday when I have
  1834. gobs of free time.  Or maybe big hairy gobs of free time.  Or even big hairy
  1835. undulating gobs of free time.  Then again, maybe it's too early in the
  1836. morning for this discussion. :-)>
  1837.  
  1838.  - MichaelH
  1839. ...........................................................................
  1840.  
  1841. Fm: Lary Myers 76004,1574                      # 383466 
  1842. To: Bart Stewart 76247,1130 (X)                Date: 24-Jun-93  23:33:01
  1843.  
  1844. Bart - You hit the nail on the head about the primitive object handling! I am
  1845. almost embarressed to admit that I wrote that code! One of the things I had
  1846. in mind when starting the engine was to have separate "modes" for
  1847. interaction. In the movement or normal mode, the mouse would turn you around
  1848. and allow forward and reverse movement. By toggling out of that mode into
  1849. another, the mouse would then become a pointer that could be used for object
  1850. selection, menus/icons, etc. While I haven't implemented this yet, that was
  1851. the original reason the engine stayed at full screen. The interactive mode
  1852. would overlay the screen only when needed and then be out of the way when
  1853. actually moving around. Might not be the right way to go, but one thing I've
  1854. noticed about the UW2 screen is that the area where you actually move feels
  1855. cramped and small at times. It seems I'm almost squinting to look up in the
  1856. upper left corner to see where to go, etc. Some of this is due to the very
  1857. nice effect of darker walls in the distance, but some is due to the size of
  1858. the area. Maybe someone can come up with a variety of prototypes for screen
  1859. areas. Even text screens with boxes to show what would be displayed where
  1860. would be useful. I will look at making the engine more generic in how much is
  1861. displayed on the screen - heck, the smaller the area, the faster it will be!
  1862. Thanks for the comments - Lary 
  1863. ...........................................................................
  1864.  
  1865. Fm: Frank Sachse 74140,2413                    # 383125 
  1866. To: Lary Myers                                 Date: 24-Jun-93  14:40:00
  1867.  
  1868. Sounds fine by me.
  1869.  
  1870. BTW your recent changes only affect the map storage & not the size of the
  1871. bitmaps, etc.?  In other words can we use the graphics from ACK3D v1.0 as a
  1872. template of sorts for creating new graphics?
  1873.  
  1874. BTW how often would new versions be released?  And what is the designation
  1875. for the current version?  1.0?
  1876.  
  1877. As for sound, I have the Worx lib, but that may not help here since I could
  1878. only upload the engine as an exe.  To upload the source wouldn't everyone
  1879. have to get the Worx lib too?  Is there another way we can add
  1880. voc/cmf/mid/etc support to get around that?  Using SBF.zip (lib 11)? I'd be
  1881. willing to add the Worx stuff.  Don't know much about other methods, ie. SBF,
  1882. etc.. 
  1883.  
  1884. I will also be working on some additional graphics, especially outdoor
  1885. oriented.
  1886.  
  1887. - Frank
  1888.  
  1889. PS my kids also enjoy your maze...
  1890. ...........................................................................
  1891.  
  1892. Fm: Frank Sachse 74140,2413                    # 383130 
  1893. To: Lary Myers                                 Date: 24-Jun-93  14:55:37
  1894.  
  1895. Ok, put me down for:
  1896.  
  1897. 1) bitmaps - mostly outdoor, but some indoor too 3) sounds - vocs, right? 
  1898. any special considerations, ie. sample rate, duration?
  1899.  
  1900. Count me in.  Will upload to you as soon as I get anything...
  1901.  
  1902. - Frank
  1903. ...........................................................................
  1904.  
  1905. Fm: Lary Myers 76004,1574                      # 383470 
  1906. To: Frank Sachse 74140,2413                    Date: 24-Jun-93  23:35:51
  1907.  
  1908. Okay Frank, you are officially marked down for the following:
  1909.  
  1910. Bitmaps (mostly outdoor and some indoor).
  1911.  
  1912. Sounds - Yes VOC is used right now, what about MOD files??? The sampling rate
  1913. in use now was 11000 but thats not fixed in concrete.
  1914.  
  1915. Thanks Frank! :)
  1916.  
  1917. Lary
  1918. ...........................................................................
  1919.  
  1920. Fm: Bart Stewart 76247,1130                    # 383154 
  1921. To: Lary Myers                                 Date: 24-Jun-93  16:09:42
  1922.  
  1923.   Lary, I've run across a problem.
  1924.   When trying to grok someone else's code, I normally compile what they wrote
  1925. before I ever make any changes. That gives me a baseline with which to
  1926. compare my changes.   The ACK3D code isn't cooperating. <g>
  1927.   I'm doing my compilation using the Borland IDE, rather than your Make
  1928. program, under BC++ 3.1. Several of your source files are generating
  1929. warnings. The two most common warnings are "Suspicious pointer conversion"
  1930. (which seems to show up in lines mixing "far" and "near" data types), and
  1931. "Conversion may lose significant digits". This second one really makes me
  1932. nervous. It shows up in several places where you're doing math on ints, or
  1933. shifting longs to ints and masking, then assigning the result to longs. I can
  1934. go in and typecast to (long), but it's difficult to know whether that's what
  1935. you intended there.   So. Let me see if I've got this right... You're using
  1936. the compact memory model, optimizing for speed, and your char type defaults
  1937. to "signed", yes? 
  1938.   -- Bart
  1939. ...........................................................................
  1940.  
  1941. Fm: Lary Myers 76004,1574                      # 383463 
  1942. To: Bart Stewart 76247,1130 (X)                Date: 24-Jun-93  23:25:02
  1943.  
  1944. Bart - Yes, your correct about compact model and signed ints. I am not
  1945. getting those warnings, but I need to check my config file here in a bit and
  1946. see if I have any warnings turned off, I don't believe so but.... Can you
  1947. upload an error listing from the compile so I can look at the line numbers
  1948. where the warnings occur? I'll get back on the intented purpose of the lines
  1949. and if the warnings are "acceptable" or not. I'll also let you know what my
  1950. warning/error reporting level is set to in Borland C V3.1 - Thanks for the
  1951. info. 
  1952. Lary
  1953. ...........................................................................
  1954.  
  1955. Fm: Bart Stewart 76247,1130                    # 383506 
  1956. To: Lary Myers 76004,1574 (X)                  Date: 25-Jun-93  00:30:22
  1957.  
  1958.   Lary, I can't upload warnings now, because I got impatient, and went in and
  1959. changed the code. <grin> It compiles fine, now that I'm doing a bit of
  1960. typecasting.
  1961.   Unfortunately, I've learned that it sucks up so much RAM that neither Turbo
  1962. Debugger nor Turbo Profiler will work with ACK3D.EXE. Sigh.
  1963.   -- Bart
  1964. ...........................................................................
  1965.  
  1966. Fm: Lary Myers 76004,1574                      # 383532 
  1967. To: Bart Stewart 76247,1130                    Date: 25-Jun-93  01:07:29
  1968.  
  1969. Okay Bart, I was just sending a message your way that I don't have any
  1970. special switches in TURBOC.CFG so I'm not sure why the warnings occur, but if
  1971. you got them fixed then you can move forward anyway.... (Still curious
  1972. though). 
  1973. Lary
  1974. ...........................................................................
  1975.  
  1976. Fm: Kris Pelley 72763,2357                     # 383382 
  1977. To: Larry Myers                                Date: 24-Jun-93  21:58:06
  1978.  
  1979. I have a few questions/suggestions for ACK stuff...
  1980.  
  1981. First off, you wanted to add moving objects/actors to the engine. Since your
  1982. modeling off of Wolfenstein why not use their method for moving the actors
  1983. around, ie: place invisible (non-barrier) objects that act as movement
  1984. directors for your objects/actors, then have the objects/actors in motion as
  1985. the game starts (or add trigger objects), then when the object/actor bumps
  1986. into one of the 'directional' objects he changes his direction of movement
  1987. according to the directional object he walks onto. The following/retreating
  1988. algorithms I have no ideas on, but I think I saw an article in DDJ a while
  1989. back about using genetic algorithms to solve mazes. If you used the players
  1990. position as the exit of the maze, you could have a genetic algorithm plot the
  1991. fastest course around walls, objects, etc. to get to the player. The
  1992. retreating algortihm could be just the opposite...
  1993.  
  1994. The other topic is sound. VOC/CMF-VOICE.DRV stuff only works with single
  1995. channel output (I thought...), so this could be a problem if you want to have
  1996. more than sample playing at the same time. Why not go the route of MOD
  1997. players and set up an interrupt for playing sound, and just output to the SB
  1998. hardware directly. Then you could have MOD music playing, and multi-channel
  1999. sound effects (or just the sound effects). 
  2000. Kris
  2001. ...........................................................................
  2002.  
  2003. Fm: Lary Myers 76004,1574                      # 383456 
  2004. To: Kris Pelley 72763,2357                     Date: 24-Jun-93  23:18:45
  2005.  
  2006. Thanks for the comments Kris. I am aware of the Wolf style of movement
  2007. squares and have it in the back of my mind as one possibility for moving
  2008. objects. I like your idea about follow/retreat with the player at the end of
  2009. the maze. Any idea on the speed such algorithms would have? Anyone?
  2010.  
  2011. The MOD interrupt driver is definitely the way to go from your description, I
  2012. have some idea on how to program the SB directly, but what would the file
  2013. format be and would it be virtual or all read into memory?
  2014.  
  2015. Lary
  2016. ...........................................................................
  2017.  
  2018. Fm: Mark Betz/Ass't SysOp 76605,2346           # 383487 
  2019. To: Kris Pelley 72763,2357                     Date: 24-Jun-93  23:57:13
  2020.  
  2021. Hi, Kris. I bet the AI for Wolf3D is ridiculously simple. Find player, shoot
  2022. at player <g>.
  2023.                                                         --Mark
  2024. ...........................................................................
  2025.  
  2026. Fm: Frank Sachse 74140,2413                    # 383442 
  2027. To: ALL                                        Date: 24-Jun-93  23:03:51
  2028.  
  2029. This may sound like a dumb question, but how do I load .img files into DP2e?
  2030. I have no problem with .lbm & .bbm Do I have to convert them first, then
  2031. reconvert them afterward (in order to produce .img)?  Use something else?
  2032. Please advise.  Thanks!
  2033.  
  2034. - Frank, the novice (still)...
  2035. ...........................................................................
  2036.  
  2037. Fm: Lary Myers 76004,1574                      # 383460 
  2038. To: Frank Sachse 74140,2413                    Date: 24-Jun-93  23:20:38
  2039.  
  2040. Frank - Not a dumb question, but here is the lame answer - You can't! I
  2041. created the IMG files in the opposite direction, by using DP2 to draw the
  2042. picture and then a capture program to block out the 64x64 area and save it to
  2043. a file. The reverse cannot be done, that would fall under the category of one
  2044. of the utilities we need yet.
  2045.  
  2046. Lary
  2047. ...........................................................................
  2048.  
  2049. Fm: Mark Betz/Ass't SysOp 76605,2346           # 383490 
  2050. To: all                                        Date: 24-Jun-93  23:57:20
  2051.  
  2052. The following new files are now available in LIBRARY 11 (Game Design):
  2053.  
  2054. [76004,1574]
  2055. ACK3D.CON/Asc     29646    24-Jun-93
  2056.  
  2057.   Title   : ACK3D Conference Transcript (Text)
  2058.   Keywords: ACK 3D ENGINE VGA GRAPHICS RAYCAST CON TEXT
  2059.  
  2060.   Transcript of the first 3D conference held June 17th in the Game Design
  2061.   Conference Room. ASCII Text. Read online or download. Also, don't miss the
  2062.   source to the ACK3D raycasting engine in the files ACKSRC.ZIP and
  2063. ACKKIT.ZIP   in LIBRARY 11 (Game Design).
  2064.  
  2065. ...........................................................................
  2066.